-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for using relative humidity rather than specific humidity. #57
Comments
Thanks @russfiedler. I've successfully compiled your code and am setting up two simulations to test it. However, I ran into a problem - to do a proper test I would need to reproduce the calculation of relative humidity done by Alternatively, I could do the calculation approximately with a simpler formula (like the one you had in there on your first attempt) - which will probably give me similar results. |
@rmholmes Yeah, it probably is a bit of overkill for our purposes but I wanted to be mostly consistent. The actual functions that are interpolated are messy but not impossible. Just all those Actually, it looks like I could have used the routine Feel free to use the simpler formula that I pencilled in the. It should be close enough for your purposes. |
@russfiedler the test is failing somewhere soon after the read-in of the relative humidity data. I haven't been able to glean much information from the logs. Only that My test run is at |
@rmholmes From the looks of things you haven't changed the namcouple file to allow passing relative humidity to cice Field 08 : 2m air humidity This should be relh_i relh_i -1 -1 1 NA EXPORTED though I think it would be more consistent to change the name in relh_ai relh_i -1 -1 1 NA EXPORTED There should have been an error message message somewhere but (like you) I can't find it. There was no backtrace for yatm either which was a pain. |
@russfiedler I'm still having some problems with this. I've got it running but there is still a ~10Wm-2 difference in the latent heat flux in the two simulations. This has a significant impact on the global OHC, so I don't think it's acceptable (this plot is from the first month): I played around with the limits on the temperature input into I am off on two weeks leave tomorrow and will revisit this when I get back. In the mean-time, if you're keen to keep working on this my test runs are at: |
@rmholmes SLP units are Pa and that's what it says in the files. Your changes to the temp limits look good. That's a pretty large bias that's coming out of the simulation. I wonder if there's a problem with the nonlinearity of SH <-> RH conversion and averaging though I guess that's been looked at. The simplified equation for q should be ok. I'll check the JRA-55 documentation to see if I can find out what they used. |
@russfiedler did you make any progress on this? |
@rmholmes No, I haven't had a chance to look at it. Having said that I guess we should look at using the same formulae for RH<->SH as here https://climate.mri-jma.go.jp/~htsujino/docs/JRA55-do/v1_5-manual/User_manual_jra55_do_v1_5.pdf Section 4B page 7. Should be easy to code up. Hmm... maybe we should have these options in the code anyway since I think RH is calculated somewhere along the way.. I'll have to think about that. There's also some comments there about the latent heat of fusion and other issues. Basically use Gill (1982) rather than Large and Yeager (2004). |
"3. Recommended methods for driving ocean–sea-ice models using the JRA55-do dataset |
@russfiedler sorry for the radio silence. It seems to me that there are two separate issues here:
So, one approach to solve the present problem is to just use the simpler formula for RH->QH that I'm already using in the pre-processing (basically resurrecting your earlier solution). If that sounds ok to you, I'll have a go at it when I get some time. |
Success! If I use the simple formula then I get a good match. There are still some small differences (note the color-scale limits) which are probably not unexpected given the model runs aren't exactly reproducible?: I've put a pull request here: #59 so that we can discuss the changes. Please have a look and let me know what you think. |
Good stuff. You wouldn't expect them to be the same because the RH<->SH conversion that you use is different to that in Gill 82 which is what is used for JRA-55 (bit hard to tell with different base logs and T(K) vs T(C). However, I think it's pretty clear that it's a much closer match than the GFDL form. |
I still think we should expect them to be the same - up to the model runs not being reproducible because of machine precision/noise etc. All I am doing is taking the JRA55-do provided QH files, converting them to RH using this simple formula in pre-processing (producing an RH file), and then the online model code just converts this input RH straight back to QH using the same simple formula. It should be immaterial what happens after this (i.e. what formulas are subsequently used). Unless there is some time interpolation operations that give you differences because the formula is non-linear? I don't think this is the case... In any case, I think these differences are small enough not to worry about. |
Aha, I thought you were taking JRA-55 supplied RH files rather than cooking them yourself. If you're supplying the new fields in single precision that's way more than enough to ensure chaos rules as expected! Even in double precision I wouldn't expect the conversions to be exactly reversible over the full range of values. |
Forcing with relative humidity now works successfully, and has been used in a series of RYF simulations with JRA55 v1.4 forcing. For the 1990-1991 JRA55-do v1.4 forcing the relative humidity file has been created at Can someone (@russfiedler) close this issue? |
As mentioned in this thread COSIMA/libaccessom2#30
Initial development is here https://github.com/russfiedler/cice5/tree/rel_humid
The text was updated successfully, but these errors were encountered: