-
Notifications
You must be signed in to change notification settings - Fork 10
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
support for ERA5 nonaccumulated variables #13
base: master
Are you sure you want to change the base?
Conversation
/src/Atmosphere/prepare_era5.jl /src/metadata_era5.jl /examples/forcing_era5.py
Thank you for the PR! I can you delete the 3 .DS_Store files? I am wondering if we need a separate meatadata.jl file. The idea is that this file provides the attributes as needed by ROMS. Would it work if we use the the current meatadata.jl with the ERA5 data? Can you explain me why you needed to change this file? Thanks again! |
It is because the wind in ERA5 is 10-m wind and the air humidity and temperature are 2-m (rather than surface-referenced, as in metadata.jl). One solution would be to entirely remove verbiage related to the reference height, e.g. "surface" for wind_time, Uwind, Vwind, qair_time, Qair, tair_time, and Tair. The user would then just have to think about which forcing data they used when setting (in roms.in):
|
Yes, I agree with that "surface" is not very specific. Unfortunately that are the terms used e.g. in ROMS/External/varinfo.yaml from ROMS-4.1
Surprisingly there is no (or no more) term The operational ECMWF forecast use the same reference depth as ERA5:
Can you confirm that ROMS accepts the forcing field (with the different long name)? |
I believe that the long_name is not carried forward from the prepared forcing data, e.g. model2021_swflux.nc. According to this it seems like Vinfo(1), 'swflux' used to staple the data, which is trusted to be in the units described in V(2-3), to its ROMS name V(6).
The point being that the long_name in metadata.jl doesn't really matter, as long as the user remembers to set the right values in roms.in based on the actual reference height. Regarding situations where ROMS expects surface heights, ROMS needs to know the reference height (whether that is 0m, 2m, or 10m...) for bulk fluxes. For example, you can see the provided reference height BLK_ZQ, BLK_ZT, BLK_ZW being using here to rescale the data. I don't personally use any meteorology sources that reference to surface, though. I know ERA5 and JRA55 do not. Maybe if someone had a mooring with anemometer and used data from that sensor package (elevated at 0m or 3.1m or 999m) to compute bulk fluxes for an entire [hopefully small] domain? But that leaves the realm of preparing standard meteorological data. Let me know if I misunderstood this question. |
Well after thinking a bit about this, I think that we should rather use the default long_name as they are used in ROMS (even if they do not include the reference height). Would it be possible for you to change this PR to use metadata.jl (rather than having a separate metadata_era5.jl). I can also make the changes myself after the merge. |
Fix Coriolis
@Alexander-Barth this is in reference to issue. Please take a look at these additions and see if they look correct: