JMMP-Group / GO_coordination

Repository to coordinate the joint development of GOSI configurations
6 stars 0 forks source link

GOSI10: Standard forcing #4

Open oceanaguiar opened 10 months ago

oceanaguiar commented 10 months ago

Set up and test new standard forced protocol:

atb299 commented 10 months ago

This is what I am using for my ERA5 forced simulations (below). I think this is correct based on Fig 11 of Renault et al. (2020). ERA5 doesn't have information about ocean currents, so using predicted coupling Stau is the recommended option.

&namsbc_blk
    ln_NCAR      = .false.     ! "NCAR"      algorithm   (Large and Yeager 2008)
    ln_ECMWF     = .true.    ! "ECMWF"     algorithm   (IFS cycle 45r1)
       rn_zqt       = 2.     !  Air temperature & humidity reference height (m)
    ln_humi_sph = .false. !  humidity "sn_humi" is specific humidity  [kg/kg]
    ln_humi_dpt = .true.  !  humidity "sn_humi" is dew-point temperature [K]
    ln_crt_fbk = .true.,     !  Add surface current feedback to the wind stress (Renault et al. 2020, doi: 10.1029/2019MS001715)
       rn_stau_a = -2.9e-3   !     Alpha from eq. 10: Stau = Alpha * Wnd + Beta
       rn_stau_b =  8.0e-3   !     Beta

    cn_dir = './INPUT/ERA5/',
    sn_humi    = 'd2m',      1, 'd2m',      .true.,  .false., 'monthly', 'weights_ERA5_eORCA025_bilin.nc', '', ''
    sn_prec    = 'mtpr',     1, 'mtpr',     .true.,  .false., 'monthly', 'weights_ERA5_eORCA025_bilin.nc', '', ''
    sn_qlw     = 'msdwlwrf', 1, 'msdwlwrf', .false., .false., 'monthly', 'weights_ERA5_eORCA025_bilin.nc', '', ''
    sn_qsr     = 'msdwswrf', 1, 'msdwswrf', .false., .false., 'monthly', 'weights_ERA5_eORCA025_bilin.nc', '', ''
    sn_slp     = 'msl',      1, 'msl',      .true.,  .false., 'monthly', 'weights_ERA5_eORCA025_bilin.nc', '', ''
    sn_snow    = 'msr',      1, 'msr',      .true.,  .false., 'monthly', 'weights_ERA5_eORCA025_bilin.nc', '', ''
    sn_tair    = 't2m',      1, 't2m',      .true.,  .false., 'monthly', 'weights_ERA5_eORCA025_bilin.nc', '', ''
    sn_wndi    = 'u10',      1, 'u10',      .true.,  .false., 'monthly', 'weights_ERA5_eORCA025_bicub.nc', 'Ume', ''
    sn_wndj    = 'v10',      1, 'v10',      .true.,  .false., 'monthly', 'weights_ERA5_eORCA025_bicub.nc', 'Vme', ''
/
atb299 commented 10 months ago

I have transferred a flood-filled copy of ERA5 1976-2022 to Monsoon: /projects/jmmp/atblak/ERA5/ERA5_forcing

I've generated weights files (/projects/jmmp/atblak/ERA5/ERA5_wgts) for the fluxes for all three resolutions and for both v4.0 and v4.2 grids (i.e. with/without halos).

The wave variables used by OSMOSIS are on a different grid to the fluxes, so I've also generated weights files for these for the v4.2 grids. Does anyone want them for the v4.0 grids?

Please note, I've not tested any of the weights files except eORCA025 at v4.2. A careful look at some output over any/all of the mesh boundaries would be wise before they are put to any extensive use.

ukmo-cguiavarch commented 10 months ago

Thank you for doing this Adam. OSMOSIS will only be used from 4.2 so I don't think we will need the weights files at 4.0 for the waves.

atb299 commented 10 months ago

For running models, I have created a folder with links to all the files, including the weights, and links renamed to match the variable. It is here: /projects/jmmp/atblak/ERA5/ERA5_forcing/all_fields

If you want to link elsewhere (e.g. if you need to reproduce the arrangement on the internal machine) there is a script to create the all_fields folder: /projects/jmmp/atblak/ERA5/ERA5_forcing/ERA5_links.sh

This should run with the &namsbc_blk section posted above.

For running NEMO v4.0.x I computed the specific humidity using the recipe given here: https://confluence.ecmwf.int/pages/viewpage.action?pageId=171411214 I put a copy of the program here: /projects/jmmp/atblak/ERA5/ERA5_forcing/calc_huss.py and then linked the files separately into the all_fields folder with:

ln -s /projects/jmmp/atblak/ERA5/ERA5_forcing/ERA5_huss/*nc .

oceanaguiar commented 2 months ago

Reasons why we adopted JRA-55 instead of ERA5 for GOSI10 development

Temperature @atb299 could you please add here the plots that show how ERA5 is warmer over the poles? I have them but don't want to add them here without your/the author's permission.

Winds Info below was provided by e-mail from Kristian Mogensen on 26/01/2024 Here is the link to the documentation on which dates in ERA5 where we have observed unrealistic winds and a script to work around it by using the 4v winds: https://confluence.ecmwf.int/display/CKB/ERA5%3A+large+10m+winds The problem was first detected when we ran with the ECMWF bulk option in NEMO V4. The NCAR one seems to be stable even for those dates where the surface winds are not physically meaningful.

oceanaguiar commented 2 months ago

Changes to flux formulation at NEMOv4

At NEMOv4 there are more options and _lncoare is best suited to UM settings

The aerobulk package (Laurent Brodeau) was introduced @NEMOv4 and brings improvements/reviewed versions of the flux formulation - this should be explored/tested for different atmospheric forcings.

Options:

atb299 commented 2 months ago

SAT differences between ERA5 and JRA55 (climatological averages), shown as global and N/S polar projections. ERA5 is warmer by up to ~6K in the polar regions, and cooler by ~1K over most of the rest of the global domain with larger cool differences over the GS and Kuroshio. Note that ERA5 uses 2m temperature, whilst JRA55 uses 10m temperature. I'm not sure how much of a different this should make.

SAT_diff_ERA5-JRA55_GL SAT_diff_ERA5-JRA55_NP SAT_diff_ERA5-JRA55_SP

atb299 commented 2 months ago

The aerobulk package (Laurent Brodeau) was introduced @NEMOv4 and brings improvements/reviewed versions of the flux formulation - this should be explored/tested for different atmospheric forcings.

Is there any guidance on choice of flux formulation? I have always followed the rule that one should apply the bulk formulae appropriate to the forcing data being used (i.e. ln_ecmwf for ECMWF-based products, ...)

oceanaguiar commented 2 months ago

The aerobulk package (Laurent Brodeau) was introduced @NEMOv4 and brings improvements/reviewed versions of the flux formulation - this should be explored/tested for different atmospheric forcings.

Is there any guidance on choice of flux formulation? I have always followed the rule that one should apply the bulk formulae appropriate to the forcing data being used (i.e. ln_ecmwf for ECMWF-based products, ...)

That's my understanding too although it's not obvious which one to use with JRA-55. I added this information and asked you to add your plots to document this. I've also shared your e-mails about this with Met Office stakeholders.

ukmo-cguiavarch commented 2 months ago

The aerobulk package (Laurent Brodeau) was introduced @NEMOv4 and brings improvements/reviewed versions of the flux formulation - this should be explored/tested for different atmospheric forcings.

Is there any guidance on choice of flux formulation? I have always followed the rule that one should apply the bulk formulae appropriate to the forcing data being used (i.e. ln_ecmwf for ECMWF-based products, ...)

That's my understanding too although it's not obvious which one to use with JRA-55. I added this information and asked you to add your plots to document this. I've also shared your e-mails about this with Met Office stakeholders.

In OMIP (https://gmd.copernicus.org/articles/13/3643/2020/), it has been agreed to use the Large and Yeager formulation (ln_ncar in NEMO) with JRA55. That is one we are using with the version of GOSI10 upgraded to use JRA55 (to be released this week). When using ERA5, I have been using ln_ecmwf. As mentioned, ln_coare is the closest to the UM/NWP formulation, it would make sense for OFRD to at least test it.

oceandie commented 2 weeks ago

Looking at Eq 11 of Renault et al. 2020, which is what is implemented in NEMO, it seems to me that we are considering our forcing winds as absolute (since we don't pass to the model UOATM and VOATM, i.e., $U_{orea}$ in eq. 11) ... is this really the case for JRA55? It seems not, since JRA55 adjusts the wind to satellite products Tsijino et al. 2018. Infact, sec 3.4.3 of Tsijino et al. 2018 clearly reports:

Because the microwave scatterometer (QuikSCAT) and radiometer (SSM/I) primarily infer the wind stress from surface wave fields, they essentially detect the surface wind speeds relative to the oceanic current at the sea-surface. Because the direction and speed of the surface wind usually influences the surface Ekman current, adjusting the wind speed by the above method slightly weakens and rotates the true wind vector. Moreover, the quasi-steady surface current can reach ~1m/s in the western boundary current and in the equatorial regions, and the surface current may reach several tens of ~cm/s within mesoscale eddies. In these cases, the difference between the absolute and relative wind vectors is non-negligible. Users of the present dataset should be aware of this limitation and its possible impact on their simulated fields.

What about ERA5?