-
Notifications
You must be signed in to change notification settings - Fork 383
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
Restore Aquaplanet Capability #2752
Conversation
The code for old aquaplanet and data ocean options was not being used and the functionality has been moved to the CIME data ocean component. The "CAM" versions of these codes would only be needed for running "standalone" atmosphere simulations without CIME, which does not seem to have any value. Leaving these codes around leads to confusion about how the aquaplanet simulations are working under the hood, therefore it makes sense to remove them. deleted: components/cam/src/utils/cam_aqua/cpl/ocn_comp_mct.F90 deleted: components/cam/src/utils/cam_aqua/ocn_comp.F90 deleted: components/cam/src/utils/cam_aqua/ocn_types.F90 deleted: components/cam/src/utils/cam_dom/ocn_comp.F90 deleted: components/cam/src/utils/cam_dom/ocn_comp_mct.F90 deleted: components/cam/src/utils/cam_dom/ocn_filenames.F90 deleted: components/cam/src/utils/cam_dom/ocn_spmd.F90 deleted: components/cam/src/utils/cam_dom/ocn_time_manager.F90 deleted: components/cam/src/utils/cam_dom/ocn_types.F90 deleted: components/cam/src/utils/cam_dom/sst_data.F90
changed the message about setting the domain to only print for the master task since it was unnecessarily cluttering up the log files. modified: cime/src/share/streams/shr_strdata_mod.F90
modified: components/cam/bld/config_files/definition.xml
modified: components/cam/bld/configure
modified: components/cam/bld/build-namelist
I opted to use a different naming convention to get away from the "FC5AV1C" in favor of "F-EAMv1-AQP1". The long name of the compsets then looks like: 2000_EAM%V1-AQUA_SLND_SICE_DOCN%AQP1_SROF_SGLC_SWAV It seems that we eventually want to move away from using "CAM5" in our compsets, since that's a differnet model, so this is a small push in that direction. I also needed to add a new use case, which ensures that the constant droplet number ind prescribed ozone options are used by default. I also set the new use case "aquaplanet_EAMv1" to use the solar data file "atm/cam/solar/ape_solar_ave_tsi_1365.nc" to be consistent with how the CAM6 aqua-planet compsets are configured. I did minimal analysis of the resulting test simulations, but I have verified that the topography is flat and everything is symetric about the equator, which is a good improvement on the old compsets that had mountains of water. A new default cami file will be added in the next commit. Changes to be committed: new file: components/cam/bld/namelist_files/use_cases/aquaplanet_EAMv1.xml modified: components/cam/cime_config/config_component.xml modified: components/cam/cime_config/config_compsets.xml new file: components/cam/cime_config/usermods_dirs/aquap/user_nl_cpl
Also fixed some errors in AQP compset long names. modified: components/cam/bld/namelist_files/namelist_defaults_cam.xml modified: components/cam/cime_config/config_compsets.xml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update cime/config/e3sm/tests.py to replace the AQUAP tests there. Make sure tests pass.
Also check the permission of the files you added to the input data server. They need to be world readable.
modified: components/cam/bld/namelist_files/namelist_defaults_cam.xml
The tests currently won't work until an ne4 initial condition file is created. modified: cime/config/e3sm/tests.py
modified: components/cam/bld/namelist_files/namelist_defaults_cam.xml
It turns out my idea of discarding the "CAM"naming convention was shortsighted. The restart files, and probably others, still have "cam" in the name so the tests ended up failing. Switching from "EAM%V1-AQUA" to "CAM5%AQUA" fixed the problem. modified: components/cam/cime_config/config_component.xml modified: components/cam/cime_config/config_compsets.xml
So it turns out that the tests failed because of my new naming convention "_EAM%V1" made the tests expect files from the "eam" component, but the names of the restart files and whatnot suggest they are from the "cam" component. The simplest fix was to keep the compset short names such as "F-EAMv1-AQP1" and change the long name to include "_CAM5%AQUA". I verified that this made the tests pass. If anyone has a better idea for the compset short names I'm happy to change them. I also uploaded uploaded initial condition files to the inputdata repo for ne4 and ne30 grids and verified that they are automatically downloaded on NERSC. |
You're right that the "CAM" part of the long name is expected because of other settings in CIME. Changing that to EAM will have to be a major PR on its own. |
@whannah1 some of the files you uploaded to the input data server are not world readable. Please fix. |
@rljacob, looking on blues I see that they are world readable. Am I missing something? I had @brhillman add them for me since I was working from home yesterday and couldn't log on to blues. |
@minxu74 reported trouble reading them but not sure when that was. Yes they seem to ok now. |
@rljacob that was probably the earlier files I uploaded then. |
@singhbalwinder I think this branch is ready to be merged, and I think the conflicts should be trivial, but let me know if you need any help or if I should assign someone else to merge |
Thanks @whannah1 . I will start merging this as soon as next become available for merging. |
@rljacob : This PR modifies two existing tests. I believe, we would call this PR BFB as it is just like adding two new tests. Is that correct? Also, would it be okay if I start merging this PR today? |
If you know its BFB, and the tests are broken for other reasons you can say its BFB and mention the test changes in the description. The description needs to be updated. The "EAM" mentioned there had to be removed. The fixed issues are not listed with the right keyword. Also remove the embedded URL ("see here"). |
@whannah1 : I am assuming that this PR is BFB except for the two tests you modified. Is that correct? |
@singhbalwinder yes, that should be correct. I didn't do anything that would affect other tests. But on that note, I just opened issue #2841, which affects the aqua tests, so I'm thinking it might be best to add those suggested changes to this PR. However, I need to check if it breaks the onther non-aqua tests. So maybe it's better to save for another PR, even though it will break the aqua test then. |
Thanks @whannah1 . If it is easy to fix that, please do so in this PR and I will merge it when it is ready. |
ok, let me do some tests, hopefully they will go quickly. Afterwards I'll push the changes. |
This check in get_landuse_and_soilw_from_file() avoids loading the drydep file for aquaplanet runs. modified: components/cam/src/chemistry/mozart/mo_drydep.F90
@singhbalwinder, I just the change to make aquaplanet ignore the drydep file. so you are good to merge now. I didn't address the interface argument issue that I mentioned in #2841 because I'm not sure how that will affect things. It shouldn't matter either way after adding this simple fix. |
@singhbalwinder, it's probably best to close it. Someone who's more familiar with the drydep calculations should be in charge of whether the ocean and ice fraction should be in the arguments to drydep(). |
Restore Aquaplanet Capability Although there was a working aquaplanet compset that was sometimes used for testing, it included realistic topography that resulted in towering mountains of water. This PR adds new compsets to that are true aquaplanet configurations consistent with the Aquaplanet Experiment (APE) protocol. I adopted a different compset naming strategy instead of following the "FC5AV1" convention. The new compsets have short names like "F-EAMv1-AQP1", where the number at the end can be changed to match the SST patterns of the APE protocol (http://www.met.reading.ac.uk/~mike/APE/). The SST pattern is now controlled by "DOCN%AQP1" and set by the data ocean component in the CIME source directories. The old data ocean code in the atmosphere directories is obsolete, which is confusing, so I deleted it all. The atmosphere is set by "_CAM5%AQUA", which is very similar to the current FC5AV1C-L except that it includes the "-aquaplanet" flag that allows the domain and topography to be set internally without the need for external files. I also added a new cam.i file to the repo: cami_aquaplanet_ne30np4_L72_c15-02-2019.nc This PR resolves the following issues: Fixes #2383 Fixes #2719 Fixes #2841 Notes on regression tests: This PR replaces two existing tests (ERP_Ln9.ne4_ne4.FC5AV1C-L-AQUAP and SMS_Ld1.ne4_ne4.FC5AV1C-L-AQUAP,cam-clubb_only) with the following tests which use the new compset: ERP_Ln9.ne4_ne4.F-EAMv1-AQP1 SMS_Ld1.ne4_ne4.F-EAMv1-AQP1,cam-clubb_only Some caveats about these compsets: aerosols are still present, but the "constant droplet" mode is automatically activated. So while direct radiative impacts are still present, aerosol-cloud interactions should be effectively disabled. After doing some tests I noticed that the net TOA radiative balance was the opposite sign of what I normallly see from F-compsets. I think this is due to the combination of using different solar forcing data file and prescribed ozone. I based these choices on the current aquaplanet options in CAM6, but we may want to revisit how these things are set in the future. A new use case was added to have special default namelist settings, but orbital parameters cannot be set this way. Therefore, following the CAM6 code, I added the CAM_USER_MODS section within config_component.xml, which sets some values in the user_nl_cpl file. I wish there were a cleaner way of setting these, but this method works pretty well. [BFB] - This PR replaces two existing AQUAP tests with new ones * whannah/atm/aqua_planet_fix: Added aquaplanet check in mo_drydep.F90 Renamed compset long names to fix tests Updated ncdata default for ne4 and ne30 aquaplanet Changed aqua compsets in intergration test Fixed default ncdata file for aquaplanet Added new default aqua initial condition file Added new aqua-planet compsets Changed how aqua_mode is set Added aquaplanet to atmos configure script Added aquaplanet option to configure options modified log message in shr_strdata_mod Removed the cam_aqu and cam_dom directories Conflicts: cime/config/e3sm/tests.py components/cam/src/utils/cam_dom/ocn_comp.F90 components/cam/src/utils/cam_dom/sst_data.F90
Pushed to next |
Restore Aquaplanet Capability Although there was a working aquaplanet compset that was sometimes used for testing, it included realistic topography that resulted in towering mountains of water. This PR adds new compsets to that are true aquaplanet configurations consistent with the Aquaplanet Experiment (APE) protocol. I adopted a different compset naming strategy instead of following the "FC5AV1" convention. The new compsets have short names like "F-EAMv1-AQP1", where the number at the end can be changed to match the SST patterns of the APE protocol (http://www.met.reading.ac.uk/~mike/APE/). The SST pattern is now controlled by "DOCN%AQP1" and set by the data ocean component in the CIME source directories. The old data ocean code in the atmosphere directories is obsolete, which is confusing, so I deleted it all. The atmosphere is set by "_CAM5%AQUA", which is very similar to the current FC5AV1C-L except that it includes the "-aquaplanet" flag that allows the domain and topography to be set internally without the need for external files. I also added a new cam.i file to the repo: cami_aquaplanet_ne30np4_L72_c15-02-2019.nc This PR resolves the following issues: Fixes #2383 Fixes #2719 Fixes #2841 Notes on regression tests: This PR replaces two existing tests (ERP_Ln9.ne4_ne4.FC5AV1C-L-AQUAP and SMS_Ld1.ne4_ne4.FC5AV1C-L-AQUAP,cam-clubb_only) with the following tests which use the new compset: ERP_Ln9.ne4_ne4.F-EAMv1-AQP1 SMS_Ld1.ne4_ne4.F-EAMv1-AQP1,cam-clubb_only Some caveats about these compsets: aerosols are still present, but the "constant droplet" mode is automatically activated. So while direct radiative impacts are still present, aerosol-cloud interactions should be effectively disabled. After doing some tests I noticed that the net TOA radiative balance was the opposite sign of what I normallly see from F-compsets. I think this is due to the combination of using different solar forcing data file and prescribed ozone. I based these choices on the current aquaplanet options in CAM6, but we may want to revisit how these things are set in the future. A new use case was added to have special default namelist settings, but orbital parameters cannot be set this way. Therefore, following the CAM6 code, I added the CAM_USER_MODS section within config_component.xml, which sets some values in the user_nl_cpl file. I wish there were a cleaner way of setting these, but this method works pretty well. [BFB] - This PR replaces two existing AQUAP tests with new ones * whannah/atm/aqua_planet_fix: Added aquaplanet check in mo_drydep.F90 Renamed compset long names to fix tests Updated ncdata default for ne4 and ne30 aquaplanet Changed aqua compsets in intergration test Fixed default ncdata file for aquaplanet Added new default aqua initial condition file Added new aqua-planet compsets Changed how aqua_mode is set Added aquaplanet to atmos configure script Added aquaplanet option to configure options modified log message in shr_strdata_mod Removed the cam_aqu and cam_dom directories Conflicts: cime/config/e3sm/tests.py components/cam/src/utils/cam_dom/ocn_comp.F90 components/cam/src/utils/cam_dom/sst_data.F90
Restore Aquaplanet Capability Although there was a working aquaplanet compset that was sometimes used for testing, it included realistic topography that resulted in towering mountains of water. This PR adds new compsets to that are true aquaplanet configurations consistent with the Aquaplanet Experiment (APE) protocol. I adopted a different compset naming strategy instead of following the "FC5AV1" convention. The new compsets have short names like "F-EAMv1-AQP1", where the number at the end can be changed to match the SST patterns of the APE protocol (http://www.met.reading.ac.uk/~mike/APE/). The SST pattern is now controlled by "DOCN%AQP1" and set by the data ocean component in the CIME source directories. The old data ocean code in the atmosphere directories is obsolete, which is confusing, so I deleted it all. The atmosphere is set by "_CAM5%AQUA", which is very similar to the current FC5AV1C-L except that it includes the "-aquaplanet" flag that allows the domain and topography to be set internally without the need for external files. I also added a new cam.i file to the repo: cami_aquaplanet_ne30np4_L72_c15-02-2019.nc This PR resolves the following issues: Fixes #2383 Fixes #2719 Fixes #2841 Notes on regression tests: This PR replaces two existing tests (ERP_Ln9.ne4_ne4.FC5AV1C-L-AQUAP and SMS_Ld1.ne4_ne4.FC5AV1C-L-AQUAP,cam-clubb_only) with the following tests which use the new compset: ERP_Ln9.ne4_ne4.F-EAMv1-AQP1 SMS_Ld1.ne4_ne4.F-EAMv1-AQP1,cam-clubb_only Some caveats about these compsets: aerosols are still present, but the "constant droplet" mode is automatically activated. So while direct radiative impacts are still present, aerosol-cloud interactions should be effectively disabled. After doing some tests I noticed that the net TOA radiative balance was the opposite sign of what I normallly see from F-compsets. I think this is due to the combination of using different solar forcing data file and prescribed ozone. I based these choices on the current aquaplanet options in CAM6, but we may want to revisit how these things are set in the future. A new use case was added to have special default namelist settings, but orbital parameters cannot be set this way. Therefore, following the CAM6 code, I added the CAM_USER_MODS section within config_component.xml, which sets some values in the user_nl_cpl file. I wish there were a cleaner way of setting these, but this method works pretty well. [BFB] - This PR replaces two existing AQUAP tests with new ones * whannah/atm/aqua_planet_fix: Added aquaplanet check in mo_drydep.F90 Renamed compset long names to fix tests Updated ncdata default for ne4 and ne30 aquaplanet Changed aqua compsets in intergration test Fixed default ncdata file for aquaplanet Added new default aqua initial condition file Added new aqua-planet compsets Changed how aqua_mode is set Added aquaplanet to atmos configure script Added aquaplanet option to configure options modified log message in shr_strdata_mod Removed the cam_aqu and cam_dom directories Conflicts: cime/config/e3sm/tests.py components/cam/src/utils/cam_dom/ocn_comp.F90 components/cam/src/utils/cam_dom/sst_data.F90
if (aqua_planet) then | ||
fraction_landuse = 0. | ||
soilw_3d = 0. | ||
else |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is soilw_3d
allocated?
[72]
[72] Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
[72]
[72] Backtrace for this error:
[72] #0 0x2b4cdf99d5cf in ???
[72] #1 0x6520e2 in get_landuse_and_soilw_from_file
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/components/cam/src/chemistry/mozart/mo_drydep.F90:2010
[72] #2 0x66e4ac in __mo_drydep_MOD_dvel_inti_xactive
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/components/cam/src/chemistry/mozart/mo_drydep.F90:1780
[72] #3 0x649e41 in __mo_chemini_MOD_chemini
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/components/cam/src/chemistry/mozart/mo_chemini.F90:212
[72] #4 0x63c6ca in __chemistry_MOD_chem_init
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/components/cam/src/chemistry/mozart/chemistry.F90:1019
[72] #5 0xc0033a in __physpkg_MOD_phys_init
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/components/cam/src/physics/cam/physpkg.F90:808
[72] #6 0x513b59 in __cam_comp_MOD_cam_init
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/components/cam/src/control/cam_comp.F90:178
[72] #7 0x50c192 in __atm_comp_mct_MOD_atm_init_mct
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/components/cam/src/cpl/atm_comp_mct.F90:314
[72] #8 0x42e7a4 in __component_mod_MOD_component_init_cc
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/cime/src/drivers/mct/main/component_mod.F90:248
[72] #9 0x41d1f7 in __cime_comp_mod_MOD_cime_init
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/cime/src/drivers/mct/main/cime_comp_mod.F90:1337
[72] #10 0x42abe9 in cime_driver
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/cime/src/drivers/mct/main/cime_driver.F90:122
[72] #11 0x42ad6a in main
[72] at /lcrc/group/acme/azamat/repos/E3SM-bebop/cime/src/drivers/mct/main/cime_driver.F90:23
This is with SMS_Ld1_D.ne4_ne4.F-EAMv1-AQP1.bebop_gnu.cam-clubb_only
on latest master.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, someone else found this awhile back and I've been meaning to fix it. It normally doesnt cause me any issues when running on Cori.
Restore Aquaplanet Capability Although there was a working aquaplanet compset that was sometimes used for testing, it included realistic topography that resulted in towering mountains of water. This PR adds new compsets to that are true aquaplanet configurations consistent with the Aquaplanet Experiment (APE) protocol. I adopted a different compset naming strategy instead of following the "FC5AV1" convention. The new compsets have short names like "F-EAMv1-AQP1", where the number at the end can be changed to match the SST patterns of the APE protocol (http://www.met.reading.ac.uk/~mike/APE/). The SST pattern is now controlled by "DOCN%AQP1" and set by the data ocean component in the CIME source directories. The old data ocean code in the atmosphere directories is obsolete, which is confusing, so I deleted it all. The atmosphere is set by "_CAM5%AQUA", which is very similar to the current FC5AV1C-L except that it includes the "-aquaplanet" flag that allows the domain and topography to be set internally without the need for external files. I also added a new cam.i file to the repo: cami_aquaplanet_ne30np4_L72_c15-02-2019.nc This PR resolves the following issues: Fixes #2383 Fixes #2719 Fixes #2841 Notes on regression tests: This PR replaces two existing tests (ERP_Ln9.ne4_ne4.FC5AV1C-L-AQUAP and SMS_Ld1.ne4_ne4.FC5AV1C-L-AQUAP,cam-clubb_only) with the following tests which use the new compset: ERP_Ln9.ne4_ne4.F-EAMv1-AQP1 SMS_Ld1.ne4_ne4.F-EAMv1-AQP1,cam-clubb_only Some caveats about these compsets: aerosols are still present, but the "constant droplet" mode is automatically activated. So while direct radiative impacts are still present, aerosol-cloud interactions should be effectively disabled. After doing some tests I noticed that the net TOA radiative balance was the opposite sign of what I normallly see from F-compsets. I think this is due to the combination of using different solar forcing data file and prescribed ozone. I based these choices on the current aquaplanet options in CAM6, but we may want to revisit how these things are set in the future. A new use case was added to have special default namelist settings, but orbital parameters cannot be set this way. Therefore, following the CAM6 code, I added the CAM_USER_MODS section within config_component.xml, which sets some values in the user_nl_cpl file. I wish there were a cleaner way of setting these, but this method works pretty well. [BFB] - This PR replaces two existing AQUAP tests with new ones * whannah/atm/aqua_planet_fix: Added aquaplanet check in mo_drydep.F90 Renamed compset long names to fix tests Updated ncdata default for ne4 and ne30 aquaplanet Changed aqua compsets in intergration test Fixed default ncdata file for aquaplanet Added new default aqua initial condition file Added new aqua-planet compsets Changed how aqua_mode is set Added aquaplanet to atmos configure script Added aquaplanet option to configure options modified log message in shr_strdata_mod Removed the cam_aqu and cam_dom directories Conflicts: cime/config/e3sm/tests.py components/cam/src/utils/cam_dom/ocn_comp.F90 components/cam/src/utils/cam_dom/sst_data.F90
check-hashes-ers: Minor change so works with multi-case tests like PEM
Although there was a working aquaplanet compset that was sometimes used for testing, it included realistic topography that resulted in towering mountains of water. This PR adds new compsets to that are true aquaplanet configurations consistent with the Aquaplanet Experiment (APE) protocol.
I adopted a different compset naming strategy instead of following the "FC5AV1" convention. The new compsets have short names like "F-EAMv1-AQP1", where the number at the end can be changed to match the SST patterns of the APE protocol (http://www.met.reading.ac.uk/~mike/APE/).
The SST pattern is now controlled by "DOCN%AQP1" and set by the data ocean component in the CIME source directories. The old data ocean code in the atmosphere directories is obsolete, which is confusing, so I deleted it all. The atmosphere is set by "_CAM5%AQUA", which is very similar to the current FC5AV1C-L except that it includes the "-aquaplanet" flag that allows the domain and topography to be set internally without the need for external files.
I also added a new cam.i file to the repo:
cami_aquaplanet_ne30np4_L72_c15-02-2019.nc
This PR resolves the following issues:
Fixes #2383
Fixes #2719
Fixes #2841
Notes on regression tests:
This PR replaces two existing tests (
ERP_Ln9.ne4_ne4.FC5AV1C-L-AQUAP
andSMS_Ld1.ne4_ne4.FC5AV1C-L-AQUAP,cam-clubb_only
) with the following tests which use the new compset:ERP_Ln9.ne4_ne4.F-EAMv1-AQP1
SMS_Ld1.ne4_ne4.F-EAMv1-AQP1,cam-clubb_only
Some caveats about these compsets:
[BFB] - This PR replaces two existing AQUAP tests with new ones