Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

How to incorporate CMIP6 climate anomaly in ISSP-based land model under CESM2.2?

Hemraj

Hemraj Bhattarai
Member
Hello,
I recently created a new case using the "ISSP126Clm50BgcCrop" compset in CESM2.2 to monitor the ISSP-based climate effect. "datm.streams.txt.Anomaly.Forcing.*" were not present in the case directory, so I added the following line to the user_nl_datm.
anomaly_forcing = 'Anomaly.Forcing.Precip','Anomaly.Forcing.Temperature','Anomaly.Forcing.Pressure','Anomaly.Forcing.Humidity','Anomaly.Forcing.Uwind','Anomaly.Forcing.Vwind','Anomaly.Forcing.Shortwave','Anomaly.Forcing.Longwave'

After building the case, I can see the datm.streams.txt.Anomaly.Forcing.* files in both the CaseDocs and run directories. However, I did not find the user_nl_datm.streams.txt.Anomaly.Forcing.* in the case directory, which I believe is necessary to make changes to the Anomaly files. How can I make "user_nl_datm.streams.txt.Anomaly.Forcing.*" appear in my case directory?

When I checked the Anomaly.Forcing files in CaseDocs, I found that they are using rcp45 nc files by default. How can the ISSP126 compset take rcp45 nc file by default? For example, I checked "datm.streams.txt.Anomaly.Forcing.Humidity" and found it is using "af.huss.ccsm4.rcp45.2006-2300.nc". I assumed it should take corresponding SSP files.

I looked for the Anomaly files for SSPs and found them in the input data repository (https://svn-ccsm-inputdata.cgd.ucar.edu/trunk/inputdata/atm/datm7/anomaly_forcing/). I found that all variables are under the same nc file (af.allvars.CESM.SSP1-2.6.2015-2100_c20220628.nc), unlike RCP, which has different nc files for different variables. Do I need to create different nc files manually, or is there a way the model can read the required variable from the combined nc file? My concern is that we now have different datm.streams.txt.Anomaly.Forcing.* files for each variable (e.g., datm.streams.txt.Anomaly.Forcing.Humidity, datm.streams.txt.Anomaly.Forcing.Precip). If the model can read variables from the combined nc file (af.allvars.CESM.SSP1-2.6.2015-2100_c20220628.nc), how can I use this file directly?

Thank you, and I look forward to hearing from you.

Best regards,
Hemraj

Following is an example showing ISSP126 compset taking rcp45 file:
Code:
<?xml version="1.0"?>
<file id="stream" version="1.0">
<dataSource>
   GENERIC
</dataSource>
<domainInfo>
  <variableNames>
     time    time
        xc      lon
        yc      lat
        area    area
        mask    mask
  </variableNames>
  <filePath>
     /lustre/users/s1155149263/CESM/input_data/atm/datm7/anomaly_forcing
  </filePath>
  <fileNames>
     domain.permafrostRCN_P2.c2013.nc
  </fileNames>
</domainInfo>
<fieldInfo>
   <variableNames>
     huss  shum_af
   </variableNames>
   <filePath>
     /lustre/users/s1155149263/CESM/input_data/atm/datm7/anomaly_forcing
   </filePath>
   <fileNames>
    af.huss.ccsm4.rcp45.2006-2300.nc
   </fileNames>
   <offset>
      0
   </offset>
</fieldInfo>
</file>
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
There are different versions of anomaly forcing depending on whether the model is using the mct cap or the nuopc cap. Can you run this and attach the output? Then we can go from there.

  • Document the version of the code are you using:
    • In CESM2.1.2 and later, run the script ./describe_version from the top level of your CESM clone (that is, from the directory containing cime, components, etc.). Either:
      • Copy and paste the full output into your post
      • Redirect the output to a file (./describe_version > version_info.txt) then attach the file to your post.
    • From older model versions that do not have the describe_version script, give the output from running the following commands from the top level of your CESM clone (that is, run these from the directory containing cime, components, etc.):
      • git describe
      • ./manage_externals/checkout_externals --status --verbose
 

TeresaPhillips

Teresa Phillips
New Member
Hello,
I recently created a new case using the "ISSP126Clm50BgcCrop" compset in CESM2.2 to monitor the ISSP-based climate effect. "datm.streams.txt.Anomaly.Forcing.*" were not present in the case directory, so I added the following line to the user_nl_datm.
anomaly_forcing = 'Anomaly.Forcing.Precip','Anomaly.Forcing.Temperature','Anomaly.Forcing.Pressure','Anomaly.Forcing.Humidity','Anomaly.Forcing.Uwind','Anomaly.Forcing.Vwind','Anomaly.Forcing.Shortwave','Anomaly.Forcing.Longwave'

After building the case, I can see the datm.streams.txt.Anomaly.Forcing.* files in both the CaseDocs and run directories. However, I did not find the user_nl_datm.streams.txt.Anomaly.Forcing.* in the case directory, which I believe is necessary to make changes to the Anomaly files. How can I make "user_nl_datm.streams.txt.Anomaly.Forcing.*" appear in my case directory?

When I checked the Anomaly.Forcing files in CaseDocs, I found that they are using rcp45 nc files by default. How can the ISSP126 compset take rcp45 nc file by default? For example, I checked "datm.streams.txt.Anomaly.Forcing.Humidity" and found it is using "af.huss.ccsm4.rcp45.2006-2300.nc". I assumed it should take corresponding SSP files.

I looked for the Anomaly files for SSPs and found them in the input data repository (https://svn-ccsm-inputdata.cgd.ucar.edu/trunk/inputdata/atm/datm7/anomaly_forcing/). I found that all variables are under the same nc file (af.allvars.CESM.SSP1-2.6.2015-2100_c20220628.nc), unlike RCP, which has different nc files for different variables. Do I need to create different nc files manually, or is there a way the model can read the required variable from the combined nc file? My concern is that we now have different datm.streams.txt.Anomaly.Forcing.* files for each variable (e.g., datm.streams.txt.Anomaly.Forcing.Humidity, datm.streams.txt.Anomaly.Forcing.Precip). If the model can read variables from the combined nc file (af.allvars.CESM.SSP1-2.6.2015-2100_c20220628.nc), how can I use this file directly?

Thank you, and I look forward to hearing from you.

Best regards,
Hemraj
or else you can refer to the game download gta 5 mobile (100% working) – android on getmodnow website for entertainment after work, safe free application
Following is an example showing ISSP126 compset taking rcp45 file:
Code:
<?xml version="1.0"?>
<file id="stream" version="1.0">
<dataSource>
   GENERIC
</dataSource>
<domainInfo>
  <variableNames>
     time    time
        xc      lon
        yc      lat
        area    area
        mask    mask
  </variableNames>
  <filePath>
     /lustre/users/s1155149263/CESM/input_data/atm/datm7/anomaly_forcing
  </filePath>
  <fileNames>
     domain.permafrostRCN_P2.c2013.nc
  </fileNames>
</domainInfo>
<fieldInfo>
   <variableNames>
     huss  shum_af
   </variableNames>
   <filePath>
     /lustre/users/s1155149263/CESM/input_data/atm/datm7/anomaly_forcing
   </filePath>
   <fileNames>
    af.huss.ccsm4.rcp45.2006-2300.nc
   </fileNames>
   <offset>
      0
   </offset>
</fieldInfo>
</file>
I'll try to address your questions and provide guidance on how to proceed.

Regarding the absence of "user_nl_datm.streams.txt.Anomaly.Forcing.*" in your case directory: By default, CESM2.2 does not generate individual "user_nl_datm.streams.txt" files for each component-specific stream. Instead, it uses a shared "user_nl_datm.streams.txt" file that applies to all streams. To make changes to the Anomaly files, you can modify the existing "user_nl_datm.streams.txt" file present in your case directory. You should find the line specifying the Anomaly.Forcing files, and you can make your desired changes there.

The ISSP126 compset in CESM2.2 does not directly support the SSP scenarios. The ISSP (International Soil Sequences for Paleoclimate Modeling) dataset is based on paleoclimate simulations and is not designed to represent future scenarios like the SSPs (Shared Socioeconomic Pathways). Therefore, the model uses the available forcing files, which are based on the RCP (Representative Concentration Pathways) scenario data. This is why you see the default usage of RCP45 nc files for the Anomaly.Forcing variables in the CaseDocs.

If you want to use the SSP scenario data instead, you would indeed need to create separate nc files for each variable, similar to the RCP files. You can either manually create these files or modify existing SSP forcing data if it is available. You should ensure that the format and structure of the files comply with CESM's requirements for anomaly forcing files.
 

Hemraj

Hemraj Bhattarai
Member
Thanks lot @TeresaPhillips.

Based on your description, it seems that my steps are similar to what you explained. Here is a revised version of your text with some minor corrections and rephrasing:

Initially, I copied the 'datm.streams' files from the 'CaseDocs' to the case directory and renamed them by adding 'user_' (not 'user_nl_'; using 'user_' instead of 'user_nl_' ensures that the changes are reflected in the perspective files when building the case). For e.g., I copied "datm.streams.txt.Anomaly.Forcing.Humidity" and renamed it as "user_datm.streams.txt.Anomaly.Forcing.Humidity". Could you please make sure its correct? It seems it is working on my side.

Next, I made changes in the respective files within the case directory by replacing the default RCP file with the SSP file (af.allvars.CESM.SSP1-2.6.2015-2100_c20220628.nc). This .nc file contains all the variables in one file, so I passed the same file for all the variables. It seems that the model is running smoothly now. Is it safe to assume that CESM is capable of reading specific variables from the combined .nc file?

The code below is found in 'datm.streams.txt.Anomaly.Forcing.*', and it is the same for all variables since they are all located within the same .nc file."

I just wanted to make sure of my steps. Please let me know if you want to see any log files or settings.
Thank you.

Code:
<?xml version="1.0"?>
<file id="stream" version="1.0">
<dataSource>
   GENERIC
</dataSource>
<domainInfo>
  <variableNames>
     time    time
        xc      lon
        yc      lat
        area    area
        mask    mask
  </variableNames>
  <filePath>
     /lustre/users/sxyz/CESM/input_data/atm/datm7/anomaly_forcing
  </filePath>
  <fileNames>
     domain.permafrostRCN_P2.c2013.nc
  </fileNames>
</domainInfo>
<fieldInfo>
   <variableNames>
     huss  shum_af
   </variableNames>
   <filePath>
     /lustre/users/sxyz/CESM/input_data/atm/datm7/anomaly_forcing
   </filePath>
   <fileNames>
    af.allvars.CESM.SSP1-2.6.2015-2100_c20220628.nc
   </fileNames>
   <offset>
      0
   </offset>
</fieldInfo>
</file>
 
Top