Skip to content
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

Highres jra bgc #34

Merged
merged 23 commits into from
Jul 30, 2020
Merged

Highres jra bgc #34

merged 23 commits into from
Jul 30, 2020

Conversation

mnlevy1981
Copy link
Collaborator

Description of changes:

Create a new compset set up to run a G compset with JRA forcing and the MARBL tracers enabled on the tx0.1v3 grid. Will also automatically use CICE4 for existing _HR compsets.

Testing:

Test case/suite: I'll run aux_pop and aux_pop_MARBL when this is ready to be merged and update the results in a later comment
Test status: I expect this to be bit-for-bit, since the high-res compsets are not tested.

Fixes #30
Fixes #29

User interface (namelist or namelist defaults) changes? None

Pointing to temp versions of BGC initial condition files and some forcings, and
temporarily turning off other forcings just to get model running
Updated GIAF_JRA_HR and GIAFECO_JRA_HR to use CICE%CICE4 (requires
cice5_20200430 or later)
Incorporates a few namelist changes from Alper's run that aren't on CICE
master, and also uses xmlchange to turn off ideal age tracers (adding -trage 0
to CICE_CONFIG_OPTS)
With partial bottom cells, the k index of DZT runs from 0 to km+1, and the
driver was written with the assumption that it was indexed from 1 to km... so
now that indexing is explicit.
GIAFECO_JRA_HR -> G1850ECOIAF_JRA_HR; updated task counts for high res runs
with BGC (or at least with BGC and CICE)
Default for G1850ECOIAF_JRA_HR w/ t13 grid is now 14666 procs
Updated init_ecosys_init_file to version that has all cocco tracers
Keith helped me generate the file with restoring time scale, and we are
restoring back to initial conditions (which came from obs)
Copy link
Collaborator Author

@mnlevy1981 mnlevy1981 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The highres_JRA_cice testmod dir also highlights modifications we need to make for our experimental run; we should roll anything we can into the compset definition (such as changing OCN_BGC_CONFIG).

Also, this PR will need updated tavg defaults for the high res.


<fesedflux_input%filename ocn_grid="gx3v7">ocn/pop/gx3v7/forcing/fesedflux_gx3v7_cesm1_97_2017.nc</fesedflux_input%filename>
<fesedflux_input%filename ocn_grid="gx1v6">ocn/pop/gx1v6/forcing/fesedfluxTot_gx1v6_cesm2_2018_c180618.nc</fesedflux_input%filename>
<fesedflux_input%filename ocn_grid="gx1v7">ocn/pop/gx1v6/forcing/fesedfluxTot_gx1v6_cesm2_2018_c180618.nc</fesedflux_input%filename>
<fesedflux_input%filename ocn_grid="tx0.1v3">ocn/pop/tx0.1v3/tmp/fesedflux_total_reduce_oxic_POP_tx0.1v3.c200420.nc</fesedflux_input%filename>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to either move this to proper directory (and import it to inputdata repo) or generate updated version

@@ -1392,6 +1394,7 @@
<feventflux_input%filename ocn_grid="gx3v7">ocn/pop/gx3v7/forcing/feventflux_gx3v7_5gmol_cesm1_97_2017.nc</feventflux_input%filename>
<feventflux_input%filename ocn_grid="gx1v6">ocn/pop/gx1v6/forcing/feventflux_gx1v6_5gmol_cesm1_97_2017.nc</feventflux_input%filename>
<feventflux_input%filename ocn_grid="gx1v7">ocn/pop/gx1v6/forcing/feventflux_gx1v6_5gmol_cesm1_97_2017.nc</feventflux_input%filename>
<feventflux_input%filename ocn_grid="tx0.1v3">ocn/pop/tx0.1v3/tmp/fesedflux_total_reduce_oxic_POP_tx0.1v3.c200420.nc</feventflux_input%filename>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to either move this to proper directory (and import it to inputdata repo) or generate updated version

Comment on lines 1444 to 1445
<nox_flux_monthly_input%filename ocn_grid="tx0.1v3">ocn/pop/tx0.1v3/tmp/ndep_ocn_1850_w_nhx_emis_tx0.1v3_c191115.nc</nox_flux_monthly_input%filename>
<nhy_flux_monthly_input%filename ocn_grid="tx0.1v3">ocn/pop/tx0.1v3/tmp/ndep_ocn_1850_w_nhx_emis_tx0.1v3_c191115.nc</nhy_flux_monthly_input%filename>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to either move this to proper directory (and import it to inputdata repo) or generate updated version

@@ -1597,19 +1603,22 @@
<restore_data_filenames_derived ocn_grid="gx3v7">ocn/pop/gx3v7/forcing/ecosys_restore_POP_gx3v7_20170113.nc</restore_data_filenames_derived>
<restore_data_filenames_derived ocn_grid="gx1v6">ocn/pop/gx1v6/forcing/ecosys_restore_POP_gx1v6_20170113.nc</restore_data_filenames_derived>
<restore_data_filenames_derived ocn_grid="gx1v7">ocn/pop/gx1v6/forcing/ecosys_restore_POP_gx1v6_20170113.nc</restore_data_filenames_derived>
<restore_data_filenames_derived ocn_grid="tx0.1v3">ocn/pop/tx0.1v3/tmp/ecosys_jan_IC_omip_POP_tx0.1v3_c200602.nc</restore_data_filenames_derived>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to either move this to proper directory (and import it to inputdata repo) or generate updated version


<restore_inv_tau_const>0.0</restore_inv_tau_const>

<restore_inv_tau_input%filename ocn_grid="gx3v7">ocn/pop/gx3v7/forcing/ecosys_restore_inv_tau_POP_gx3v7_20170125.nc</restore_inv_tau_input%filename>
<restore_inv_tau_input%filename ocn_grid="gx1v6">ocn/pop/gx1v6/forcing/ecosys_restore_inv_tau_POP_gx1v6_20170125.nc</restore_inv_tau_input%filename>
<restore_inv_tau_input%filename ocn_grid="gx1v7">ocn/pop/gx1v6/forcing/ecosys_restore_inv_tau_POP_gx1v6_20170125.nc</restore_inv_tau_input%filename>
<restore_inv_tau_input%filename ocn_grid="tx0.1v3">ocn/pop/tx0.1v3/tmp/ecosys_restore_inv_tau_POP_tx0.1v3_20200603.nc</restore_inv_tau_input%filename>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to either move this to proper directory (and import it to inputdata repo) or generate updated version

@@ -1643,6 +1652,8 @@
<init_ecosys_init_file ocn_grid="gx1v7" ocn_bgc_config="cesm2.1+cocco">ocn/pop/gx1v6/ic/ecosys_jan_IC_gx1v6_20200325.nc</init_ecosys_init_file>
<init_ecosys_init_file ocn_grid="gx1v7" ocn_bgc_config="SPECTRA1.0">ocn/pop/gx1v6/ic/ecosys_jan_IC_gx1v6_9p6z_20200325_3impCalc.nc</init_ecosys_init_file>

<init_ecosys_init_file ocn_grid="tx0.1v3">ocn/pop/tx0.1v3/tmp/ecosys_jan_IC_omip_POP_tx0.1v3_c200602.nc</init_ecosys_init_file>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to either move this to proper directory (and import it to inputdata repo) or generate updated version

Comment on lines +127 to +133
<lname>2000_DATM%JRA-1p4-2018_SLND_CICE%CICE4_POP2_DROF%JRA-1p4-2018_SGLC_SWAV</lname>
</compset>

<compset>
<!-- latest JRA forcing, ecosys, high-res -->
<alias>G1850ECOIAF_JRA_HR</alias>
<lname>1850_DATM%JRA-1p4-2018_SLND_CICE%CICE4_POP2%ECO_DROF%JRA-1p4-2018_SGLC_SWAV</lname>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

make sure other G_HR compsets are also using CICE%CICE4

<ntasks_lnd>72</ntasks_lnd>
<ntasks_rof>72</ntasks_rof>
<ntasks_ice>828</ntasks_ice>
<ntasks_ocn>14666</ntasks_ocn>
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still testing to determine best value to use here

./xmlchange -a CICE_CONFIG_OPTS="-trage 0"
fi

./xmlchange OCN_BGC_CONFIG=cesm2.1+cocco
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hopefully we'll have a cesm2.2+cocco option before the release

@@ -6,7 +6,7 @@ local_path = externals/CVMix
required = True

[MARBL]
tag = marbl0.35.0
tag = marbl0.37.0
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will want to use tag from marbl-ecosys/MARBL#347

Copy link
Collaborator Author

@mnlevy1981 mnlevy1981 Jun 26, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

actually want tag from marbl-ecosys/MARBL#353

Note that memory limitations prevent us from actually using this file with the
MCT cap; hopefully it'll work better with CMEPS
riv_nut is new, fesedflux has been updated, feventflux is a new file
(previously was using fesedflux)
When I had first created the cocco variables, the long_names still mentioned
"Small Phyto". Also, I changed how I used nco so the global attributes are
clearer about the process.
By setting tavg_contents_override_file in user_nl_pop, the [grid]_tavg_contents
file generated by all the ocn.*.tavg.csh scripts is renamed
autogen_tavg_contents in Buildconf/popconf and then tavg_contents_override_file
is copied into Buildconf/popconf/[grid]_tavg_contents (at which point
build-namelist and buildnml take over to use the override file)
First implementation was applying tavg_contents_override_file before adding
tidal mixing variables to [grid]_tavg_contents (missed this in testing because
I was looking at a high-res case that didn't use the new tidal scheme, I think)
Adding some _2 variables to allow variables in multiple streams and _z_t_150m
variables to accumulate only the top 150 m of output. Full list:

TEMP_z_t_150m
TEMP_2
SALT_z_t_150m
SALT_2
UVEL_z_t_150m
UVEL_2
VVEL_z_t_150m
VVEL_2
SHF_QSW_2
Also increased max_avail_tavg_field
Note that this duplicate variable follows the tracer module's instructions
regarding whether to truncate at 150 meters or provide full depth. Given the
addition of _z_t_150m tavg output in the previous commit, it may make sense to
force the _2 tavg output to use full depth (in which case it should be renamed
_z_t)
@mnlevy1981 mnlevy1981 mentioned this pull request Jul 9, 2020
This namelist variable sets tadvect_ctype for ecosystem tracers that have
virtual fluxes.
@mnlevy1981
Copy link
Collaborator Author

6d72b75 allows us to select a different advection scheme for ecosystem tracers with virtual fluxes. Running with

tadvect_ctype = 'centered'
ecosys_tadvect_ctype = 'upwind3'
ecosys_vflux_tadvect_ctype = 'base_model'

Results in

------------------------------------------------------------------------

Advection options

------------------------------------------------------------------------
        Tracer Name   Advection Option
               TEMP           centered
               SALT           centered
                PO4            upwind3
                NO3            upwind3
               SiO3            upwind3
                NH4            upwind3
                 Fe            upwind3
                Lig            upwind3
                 O2            upwind3
                DIC           centered
        DIC_ALT_CO2           centered
                ALK           centered
        ALK_ALT_CO2           centered
                DOC            upwind3
                DON            upwind3
                DOP            upwind3
               DOPr            upwind3
               DONr            upwind3
               DOCr            upwind3
               zooC            upwind3
              spChl            upwind3
                spC            upwind3
                spP            upwind3
               spFe            upwind3
            spCaCO3            upwind3
            diatChl            upwind3
              diatC            upwind3
              diatP            upwind3
             diatFe            upwind3
             diatSi            upwind3
            diazChl            upwind3
              diazC            upwind3
              diazP            upwind3
             diazFe            upwind3
               IAGE           centered

The default for ecosys_tadvect_ctype is upwind3 for the tx0.1v3 grid but base_model the rest of the time; default for ecosys_vflux_tadvect_ctype is always base_model

Files are no longer in ocn/pop/tx0.1v3/tmp/ -- they are either in forcing/ or
ic/

Files moved:

fesedflux_total_reduce_oxic_POP_tx0.1v3.c200616.nc
feventflux_5gmol_POP_tx0.1v3.c200616.nc
ndep_ocn_1850_w_nhx_emis_tx0.1v3_c191115.nc
riv_nut.gnews_gnm.JRA025m_to_tx0.1v3_nnsm_e333r100_190226.20200616.nc
ecosys_restore_POP_tx0.1v3_20200604.nc
ecosys_restore_inv_tau_POP_tx0.1v3_20200603.nc
ecosys_jan_IC_omip_POP_tx0.1v3_c200617.nc
@mnlevy1981 mnlevy1981 marked this pull request as ready for review July 30, 2020 22:29
@mnlevy1981
Copy link
Collaborator Author

I've finished testing -- aux_pop on cheyenne (intel only), and aux_pop_MARBL (cheyenne for intel and gnu, hobart for nag and pgi) performed as expected: NLCOMP failures for BGC compsets, but all tests ran successfully and were bit-for-bit with baselines. Here's what'll be in the change log:

Tag Creator: mlevy
Developers:  mlevy, klindsay
Tag Date:    30 July 2020
Tag Name:    cesm_pop_2_1_20200730
Tag Summary: Add new compset for high-res G case that is forced by JRA and
             includes BGC (G1850ECOIAF_JRA_HR)
             1. Newer version of MARBL (just a bugfix)
             2. New feature: set tavg_contents_override_file in user_nl_pop
                to replace fully resolved tavg_contents file with one created
                by hand
             3. Add a few more valid spacecurve pe layouts for high-res
             4. Different default PE layout for new compset than high-res without BGC
             5. Add BGC initial condition and forcing file namelist defaults for tx0.1v3
             6. Clean up ecosys namelists (don't include variables that aren't used)
             7. New testmoddir that lets us test new compset with CICE namelist
                changes that appear in production runs
             8. New ecosys_vflux_tadvect_ctype namelist var sets tadvect_ctype
                for tracers with virtual fluxes; now existing ecosys_tadvect_ctype
                only applies to those without
             9. Additional tavg variables to allow some variables to appear in
                multiple tavg streams and / or be truncated to top 150m
                * TEMP_2, TEMP_z_t_150m
                * SALT_2, SALT_z_t_150m
                * UVEL_2, UVEL_z_t_150m
                * VVEL_2, VVEL_z_t_150m
                * SHF_QSW_2
                * All passive tracers have _2 and _z_t_150m variants as well

Testing: aux_pop (cheyenne_intel) and aux_pop_MARBL (cheyenne intel & gnu plus
         hobart nag and pgi); non-BGC compsets are bit-for-bit with no namelist
         changes. BGC compsets fail NLCOMP (expected; see 6 above) but are still
         bit-for-bit.

@mnlevy1981 mnlevy1981 merged commit 974a032 into ESCOMP:master Jul 30, 2020
@mnlevy1981 mnlevy1981 deleted the highres_JRA_BGC branch March 30, 2021 19:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add GIAFECO_JRA_HR compset GIAF_JRA_HR compset should specify CICE%CICE4
1 participant