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

Implement SpAer-code used in CMIP6 #12

Closed
Kirkevag opened this issue Jun 15, 2020 · 6 comments
Closed

Implement SpAer-code used in CMIP6 #12

Kirkevag opened this issue Jun 15, 2020 · 6 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed
Milestone

Comments

@Kirkevag
Copy link

The implementation of the SpAer code used in CMIP6 (e.g. for piClim-SpAer2014) has been put on hold to make sure that other CMIP6 simulations not could be affected by possible bugs in this code-wise quite big task.

@Kirkevag Kirkevag added enhancement New feature or request help wanted Extra attention is needed labels Jun 15, 2020
@Kirkevag Kirkevag self-assigned this Jun 15, 2020
Kirkevag added a commit to Kirkevag/CAM that referenced this issue Jun 15, 2020
Kirkevag added a commit that referenced this issue Jun 15, 2020
@Kirkevag
Copy link
Author

The code has been tested on Vilje, but (with the correct settings for senith angle averaging and flux parameterisation) does not reproduce the (first month of) the original piClim-SpAer simulation for RFMIP, which has data available at
/projects/NS9560K/noresm/cases/piClim-SpAer2014/atm/hist/

A second identical test also gives different results. Similar tests on the (almost) original model version on Vilje /home/ntnu/kirkevag/noresm2.1dev have the same problem: A seemingly identical set-up as back then does not reproduce the first month, and neither does its twin case set up at the same time, also giving different results compared to the first twin. The differences are in meteorology and prognostic aerosols etc, but very small differences are found for the SpAer relevant prescribed parameters (such as anthropogenic AOD, AODVISSP, and multiplication gactor for CDNC, XCDNC_SP).

The model code on /home/ntnu/kirkevag/noresm2.1dev is not identical to what it was in the CMIP6 simulatiion piClim-SpAer however. New code/scripts/compsets that were assumed not to be answer changing (and possibly were) has been pulled between July 30'th (the original code) and October 9'th and 24'th (after CMIP6 simulations). The following comments contain the logs from the two git pulls in October 2019.

@Kirkevag
Copy link
Author

Pull log from October 9'th:

-bash-4.2$ git pull
Password for 'https://[email protected]':
remote: Enumerating objects: 310, done.
remote: Counting objects: 100% (310/310), done.
remote: Compressing objects: 100% (161/161), done.
remote: Total 279 (delta 248), reused 149 (delta 118), pack-reused 0
Receiving objects: 100% (279/279), 51.55 KiB | 0 bytes/s, done.
Resolving deltas: 100% (248/248), completed with 30 local objects.
From https://github.com/metno/noresm-dev
476a546..f6af96d featureCESM2.1.0-OsloDevelopment -> origin/featureCESM2.1.0-OsloDevelopment
Updating 476a546..f6af96d
error: Your local changes to the following files would be overwritten by merge:
components/cam/cime_config/config_component.xml
components/cam/cime_config/config_compsets.xml
components/clm/cime_config/config_component.xml
Please, commit your changes or stash them before you can merge.
Aborting

La de eksperimentelle filene (inkludert for piClim-lu-oppsett) på
underkatalogen AKtstchanges og mv'er de gamle tilbake. Nytt forsøk:

error: Your local changes to the following files would be overwritten by merge:
components/clm/cime_config/config_component.xml
Please, commit your changes or stash them before you can merge.
Aborting

Endrer likedan der og prøver på nytt:

-bash-4.2$ git pull
Password for 'https://[email protected]':
Updating 476a546..f6af96d
Fast-forward
cime/src/components/data_comps/docn/cime_config/config_component.xml | 3 +
cime_config/config_compsets.xml | 39 ++++++++++++
cime_config/config_pes.xml | 58 ++++++++++++++---
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm.xml | 23 +++----
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_aer2014.xml | 23 +++----
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_aeroxid2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_aeroxidonly.xml | 159 ++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_anthro2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_bc2014.xml | 23 +++----
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ch42014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ch4noh2o2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_frc2.xml | 142 +++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ghg2014.xml | 23 +++----
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ghgnoh2o2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ghgonly.xml | 23 +++----
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ghgozone2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_h2o2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_n2o2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_natonly.xml | 159 ++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ntcf2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_oc2014.xml | 23 +++----
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_oxid2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ozone2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ozoneonly.xml | 161 ++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_so22014.xml | 23 +++----
components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_so2oxid2014.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/hist_cam6_noresm.xml | 21 +++---
components/cam/bld/namelist_files/use_cases/hist_cam6_noresm_frc2.xml | 140 ++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/hist_cam6_noresm_piaer.xml | 21 +++---
components/cam/bld/namelist_files/use_cases/hist_cam6_noresm_piaeroxid.xml | 162 +++++++++++++++++++++++++++++++++++++++++++++++
components/cam/bld/namelist_files/use_cases/hist_cam6_noresm_pintcf.xml | 21 +++---
components/cam/cime_config/config_component.xml | 77 +++++++++++++++++++---
components/cam/cime_config/config_compsets.xml | 137 ++++++++++++++++++++++++++++++++++++++-
.../usermods_dirs/cmip6_noresm_fsst_hifreq_xaer/SourceMods/src.cam/preprocessorDefinitions.h | 2 +
components/cam/cime_config/usermods_dirs/cmip6_noresm_fsst_hifreq_xaer/user_nl_cam | 35 ++++++++++
components/cam/cime_config/usermods_dirs/cmip6_noresm_fsst_hifreq_xaer/user_nl_clm | 36 +++++++++++
components/clm/bld/namelist_files/use_cases/2014_control.xml | 36 +++++++++++
components/clm/cime_config/config_component.xml | 2 +
components/micom/cime_config/config_component.xml | 27 +++++---
39 files changed, 3409 insertions(+), 134 deletions(-)
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_aeroxid2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_aeroxidonly.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_anthro2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ch42014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ch4noh2o2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_frc2.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ghgnoh2o2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ghgozone2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_h2o2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_n2o2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_natonly.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ntcf2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_oxid2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ozone2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_ozoneonly.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/1850_cam6_noresm_so2oxid2014.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/hist_cam6_noresm_frc2.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/hist_cam6_noresm_piaeroxid.xml
create mode 100755 components/cam/cime_config/usermods_dirs/cmip6_noresm_fsst_hifreq_xaer/SourceMods/src.cam/preprocessorDefinitions.h
create mode 100644 components/cam/cime_config/usermods_dirs/cmip6_noresm_fsst_hifreq_xaer/user_nl_cam
create mode 100644 components/cam/cime_config/usermods_dirs/cmip6_noresm_fsst_hifreq_xaer/user_nl_clm
create mode 100644 components/clm/bld/namelist_files/use_cases/2014_control.xml

@Kirkevag
Copy link
Author

Pull log from October 24'th:

-bash-4.2$ git pull
Password for 'https://[email protected]':
remote: Enumerating objects: 94, done.
remote: Counting objects: 100% (94/94), done.
remote: Compressing objects: 100% (40/40), done.
remote: Total 94 (delta 65), reused 79 (delta 54), pack-reused 0
Unpacking objects: 100% (94/94), done.
From https://github.com/metno/noresm-dev
11073fc..e40cb27 featureCESM2.1.0-OsloDevelopment -> origin/featureCESM2.1.0-OsloDevelopment
0e21727..b06ec2e master -> origin/master
Updating 11073fc..e40cb27
Fast-forward
cime_config/config_compsets.xml | 100 +++++++
cime_config/config_pes.xml | 39 +++
components/cam/bld/namelist_files/use_cases/sd_hist_cam6_noresm.xml | 168 +++++++++++
components/cam/bld/namelist_files/use_cases/ssp126_cam6.xml | 94 ++++++
components/cam/bld/namelist_files/use_cases/ssp126_cam6_noresm_frc2.xml | 126 ++++++++
components/cam/bld/namelist_files/use_cases/ssp245_cam6.xml | 91 ++++++
components/cam/bld/namelist_files/use_cases/ssp245_cam6_noresm_aeroxidonly_frc2.xml | 134 +++++++++
components/cam/bld/namelist_files/use_cases/ssp245_cam6_noresm_frc2.xml | 126 ++++++++
components/cam/bld/namelist_files/use_cases/ssp245_cam6_noresm_ghgonly_frc2.xml | 136 +++++++++
components/cam/bld/namelist_files/use_cases/ssp245_cam6_noresm_natonly_frc2.xml | 134 +++++++++
components/cam/bld/namelist_files/use_cases/ssp370_cam6.xml | 90 ++++++
components/cam/bld/namelist_files/use_cases/ssp370_cam6_noresm_frc2.xml | 126 ++++++++
components/cam/bld/namelist_files/use_cases/ssp585_cam6.xml | 96 ++++++
components/cam/bld/namelist_files/use_cases/ssp585_cam6_noresm_frc2.xml | 126 ++++++++
components/cam/cime_config/config_component.xml | 23 +-
components/cam/cime_config/config_compsets.xml | 8 +
components/clm/bld/CLMBuildNamelist.pm | 218 +++++++++-----
components/clm/bld/namelist_files/namelist_defaults_clm4_5.xml | 777 ++++++++++++++++++++++++++----------------------
components/clm/bld/namelist_files/namelist_definition_clm4_5.xml | 48 ++-
components/clm/bld/namelist_files/use_cases/1850-2100_SSP1-1.9_transient.xml | 19 ++
components/clm/bld/namelist_files/use_cases/1850-2100_SSP1-2.6_transient.xml | 19 ++
components/clm/bld/namelist_files/use_cases/1850-2100_SSP2-4.5_transient.xml | 19 ++
components/clm/bld/namelist_files/use_cases/1850-2100_SSP3-7.0_transient.xml | 19 ++
components/clm/bld/namelist_files/use_cases/1850-2100_SSP4-3.4_transient.xml | 19 ++
components/clm/bld/namelist_files/use_cases/1850-2100_SSP4-6.0_transient.xml | 19 ++
components/clm/bld/namelist_files/use_cases/1850-2100_SSP5-3.4_transient.xml | 19 ++
components/clm/bld/namelist_files/use_cases/1850-2100_SSP5-8.5_transient.xml | 19 ++
.../use_cases/{1850-2100_rcp2.6_transient.xml => 1850-2100_rcp2.6_transient.xml_NOTUSED} | 0
.../use_cases/{1850-2100_rcp4.5_transient.xml => 1850-2100_rcp4.5_transient.xml_NOTUSED} | 0
.../use_cases/{1850-2100_rcp6_transient.xml => 1850-2100_rcp6_transient.xml_NOTUSED} | 0
.../use_cases/{1850-2100_rcp8.5_transient.xml => 1850-2100_rcp8.5_transient.xml_NOTUSED} | 0
.../use_cases/{2000-2100_rcp8.5_transient.xml => 2000-2100_rcp8.5_transient.xml_NOTUSED} | 0
components/clm/cime_config/config_component.xml | 17 +-
components/pop/bld/namelist_files/namelist_defaults_pop.xml | 62 ++++
components/pop/cime_config/config_component.xml | 6 +-
35 files changed, 2452 insertions(+), 445 deletions(-)
create mode 100644 components/cam/bld/namelist_files/use_cases/sd_hist_cam6_noresm.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp126_cam6.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp126_cam6_noresm_frc2.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp245_cam6.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp245_cam6_noresm_aeroxidonly_frc2.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp245_cam6_noresm_frc2.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp245_cam6_noresm_ghgonly_frc2.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp245_cam6_noresm_natonly_frc2.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp370_cam6.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp370_cam6_noresm_frc2.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp585_cam6.xml
create mode 100644 components/cam/bld/namelist_files/use_cases/ssp585_cam6_noresm_frc2.xml
create mode 100644 components/clm/bld/namelist_files/use_cases/1850-2100_SSP1-1.9_transient.xml
create mode 100644 components/clm/bld/namelist_files/use_cases/1850-2100_SSP1-2.6_transient.xml
create mode 100644 components/clm/bld/namelist_files/use_cases/1850-2100_SSP2-4.5_transient.xml
create mode 100644 components/clm/bld/namelist_files/use_cases/1850-2100_SSP3-7.0_transient.xml
create mode 100644 components/clm/bld/namelist_files/use_cases/1850-2100_SSP4-3.4_transient.xml
create mode 100644 components/clm/bld/namelist_files/use_cases/1850-2100_SSP4-6.0_transient.xml
create mode 100644 components/clm/bld/namelist_files/use_cases/1850-2100_SSP5-3.4_transient.xml
create mode 100644 components/clm/bld/namelist_files/use_cases/1850-2100_SSP5-8.5_transient.xml
rename components/clm/bld/namelist_files/use_cases/{1850-2100_rcp2.6_transient.xml => 1850-2100_rcp2.6_transient.xml_NOTUSED} (100%)
rename components/clm/bld/namelist_files/use_cases/{1850-2100_rcp4.5_transient.xml => 1850-2100_rcp4.5_transient.xml_NOTUSED} (100%)
rename components/clm/bld/namelist_files/use_cases/{1850-2100_rcp6_transient.xml => 1850-2100_rcp6_transient.xml_NOTUSED} (100%)
rename components/clm/bld/namelist_files/use_cases/{1850-2100_rcp8.5_transient.xml => 1850-2100_rcp8.5_transient.xml_NOTUSED} (100%)
rename components/clm/bld/namelist_files/use_cases/{2000-2100_rcp8.5_transient.xml => 2000-2100_rcp8.5_transient.xml_NOTUSED} (100%)

@Kirkevag
Copy link
Author

As a short summary, it can be said that the SpAer code, when active (#define SPAERO), does neither reproduce the CMIP6 piClim-SpAer2014 experiment, nor give the same results (meteorology-wise) for two identical cases set up in the new (updated) NorESM2 version. However, the prescribed SpAer optics and CDNC multiplication factors very close indeed to that in the above CMIP6 expriment, probably slightly different only because the meteorology differs. Not also that the code, when not active (#undef SPAERO) gives identical results in different experiments, as it should.

Looking at the atm log-files, the difference in meteorology take place already in the 0'th time-step (nstep=0) (difference occur in the 7'th digit (for an example twin test):

AM GLOBAL FIXER: 0.21274109505367922E-02 vs. AM GLOBAL FIXER: 0.21274178123676696E-02

My recommendations for further work with this code is to look for any intialized (newly introduced) variables, or erroneous coding with respect to pointers and physics buffers.

@oyvindseland
Copy link

The branch was technically working and gave comparable results to the original experiments in spring 2023. Should be added as a namelist option.

@gold2718 gold2718 added this to the NorESM2.3 milestone Nov 8, 2023
@gold2718
Copy link

gold2718 commented Nov 8, 2023

This issue is now scheduled to be implemented in the NorESM2.3 release, as issue #103.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
Status: Done
Development

No branches or pull requests

3 participants