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 modify glacier information?

bidyut

BIDYUT BIKASH GOSWAMI
Member
Hi,
Can anybody please comment how can I modify glacier data for CLM input? To be precise, I wanted to tweak the surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850_c190214.nc file.
Thank you.
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
Hi Keith, thanks for the reply. Out of the two approaches you suggested, modifying the nc file itself should work for me. Related to this I have a confusion: when you said "changing the other landunit percentages so that the sum still adds up to 100%", did you mean all the landunit fields? Can you please mention them specifically? I checked plotting PCT_GLACIER+PCT_LAKE+PCT_NATVEG+PCT_CROP+PCT_WETLAND (please see the attached figure) and found that the sum is not 100% over all the grids. Can you please tell me what am I missing here?

Also is there anything else which I should take care of in order to play with the PCT_GLACIER values?

Thank you.
 

Attachments

  • landunit_total.png
    landunit_total.png
    101.6 KB · Views: 7

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I think you are missing PCT_URBAN. Note that depending on your model version, there may be up to three urban landunits that need to be added in.
I just mean that if you, for example, increase PCT_GLACIER for a grid cell, you'll need to decrease some other landunit(s) so that the landunit fields add up to 100%.
It occurs to me that you might have to play with the PCT_GLC_MEC and the TOPO_GLC_MEC fields as well. These are related to the glacier elevation classes.
I"m not sure about this, so you might want to post your question on the CISM Forum as well:

 

bidyut

BIDYUT BIKASH GOSWAMI
Member
Thanks for your response. Just to avoid cross posting, is there any way that you can transfer my post to CISM group? Thanks.
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
I had posted this query in the CLM group about how to modify the glacier information in the input file. I got a reply which needed some additional information from the CISM experts. My post was forwarded from CLM to CISM group but I have not got any reply yet. Can anyone kindly go through this thread again and suggest. Thank you in advance.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
In reading more about this here:


it seems to me that if you are using the stub glacier model (SGLC) then you wouldn't have to worry about changing the glacier elevation class fields PCT_GLC_MEC and the TOPO_GLC_MEC. Just would need to manipulate PCT_GLACIER and the the other landunits.
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
Thank you for your response. I want to run CESM with COMPSET=fhist to do some sensitivity study. For that I wanted to modify the PCT_GLACIER field and accordingly other landunits so that the total of all the landunits=100%. Thank you.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member

bidyut

BIDYUT BIKASH GOSWAMI
Member
Hi, I tried running CESM following your suggestions using SGLC. The default model runs perfectly.

However, when I tried to play with the glacier data, I believe I am doing something wrong because of which the model crashes with an error like:

pio_support::pio_die:: myrank= -1 : ERROR: nf_mod.F90: 1288 :
NetCDF: Invalid dimension ID or name

(Please let me know if you would like to have a look at the lnd.log or cesm.log files. I tried to attach them but they are too big to attach). When I checked the lnd.log file, the last thing the model did before crashing was reading the file which I had modified which is surfdata_0.9x1.25_hist_16pfts_Irrig_CMIP6_simyr1850_c190214.nc

I am doing some NO_glacier sensitivity study. For that I am making the PCT_GLACIER=0 in some regions and replacing it by PCT_NATVEG so that my total landunit percentage sum still adds up to 100% in a given grid cell.

Can you please suggest? I would appreciate if I can get someone to contact directly as you may require more details to understand my problem and suggest accordingly.

Thank you and regards.
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
it seems to me that if you are using the stub glacier model (SGLC) then you wouldn't have to worry about changing the glacier elevation class fields PCT_GLC_MEC and the TOPO_GLC_MEC. Just would need to manipulate PCT_GLACIER and the the other landunits.
Do I still need to modify the values of GLC_MEC to match the PCT_GLACIER values?

Thanks.
 

sacks

Bill Sacks
CSEG and Liaisons
Staff member
Keith Oleson pointed me to this thread. First, to clarify some points from earlier posts:

In general, Keith is right that, if you want to modify the glacier area, you will generally also want to modify PCT_GLC_MEC and TOPO_GLC_MEC to give you the desired breakdown into the different glacier elevation classes, each with the desired mean topographic height. (And I think it would generally be easier to do this via the mksurfdata_map tool than trying to do it by hand.) But that isn't absolutely required. And in your case, it sounds like you just want to set PCT_GLACIER to 0% in some places, so then PCT_GLC_MEC and TOPO_GLC_MEC are irrelevant. Note that PCT_GLC_MEC should always add up to 100% in each grid cell, even if PCT_GLACIER is 0% – which means that you do not need to change PCT_GLC_MEC when changing PCT_GLACIER.

Keith's other point about not needing to do as much with the surface dataset if you're using SGLC is not correct, though. This used to be true, but now the fields needed on the surface dataset are the same whether you're using CISM or SGLC – and in fact, they become more relevant when using SGLC.

It does sound like you want to use SGLC for this experiment, because that means that CLM will use the glacier cover from the surface dataset everywhere, rather than letting CISM dictate glacier area over Greenland.

Now, as for your error: it's hard to tell what's going on from the information you have posted. Some extra information that would be helpful:

- Can you attach the full log files if you first compress them (with the gzip unix utility)?

- Does the run succeed if you use the unmodified (out-of-the-box) surface dataset?

- If the run succeeds with the out-of-the-box surface dataset but fails with yours, then please attach the output from running 'ncdump -h' on your modified surface dataset, and also give details of how you modified the surface dataset.
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
Hi Bill,
Thanks for such an elaborate reply. I do not have any preference as such between SGLC or CISM. Following Keith's reply, I felt it would be easier to try with SGLC. Anyways, I do not mind using any, as long as the simulations are not significantly different. Moreover once I can run my experiment with one, I can always try the same with the other.

FYI, I checked with the modified input and PCT_GLACIER+PCT_LAKE+PCT_NATVEG+PCT_CROP+PCT_WETLAND+PCT_URBAN[k=1:3@sum]=100

- Can you attach the full log files if you first compress them (with the gzip unix utility)? Please find the attachment

- Does the run succeed if you use the unmodified (out-of-the-box) surface dataset? YES (--compset HIST_CAM60_CLM50%SP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV --res f09_f09_mg17)

- If the run succeeds with the out-of-the-box surface dataset but fails with yours, then please attach the output from running 'ncdump -h' on your modified surface dataset, and also give details of how you modified the surface dataset. => Please find the attachment

Thank you.
 

Attachments

  • logfiles.tar.gz
    59.6 KB · Views: 3
  • ncdump-h-return-on-new-forcing-file.txt
    12.5 KB · Views: 3
  • make_NOTPGLC_input.txt
    1.4 KB · Views: 3

oleson

Keith Oleson
CSEG and Liaisons
Staff member
It looks like you are missing all of the surface dataset fields that have an "nlevurb" dimension, e.g., TK_ROOF.
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
Oh ... Thanks for pointing it out. I checked the steps I followed to modify the Glacier information. It seems the CDO "replace" command I am using is not working properly. I will check that. Meanwhile, if you can suggest how to use the "mksurfdata_map tool" that would be great. Many thanks.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
The instructions for mksurfdata_map and other tools can be found in the User's Guide:


I tried this out for your case. In short, for example:

compile mksurfdata_map following the instructions in:
clm/tools/mksurfdata_map/README

generate a namelist file at your desired resolution that you can modify:
./mksurfdata.pl -res 0.9x1.25 -debug

The resulting namelist file for year 2000 is, e.g.,

surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c201009.namelist

Note the "raw" glacier file in that namelist file, for cesm2.1.3 it is:

mksrf_fglacier = '/glade/p/cesm/cseg/inputdata/lnd/clm2/rawdata/mksrf_glacier_3x3min_simyr2000.c120926.nc'

Make a copy of that file and/or rename it. Modify PCT_GLACIER in that file. In my example, I set PCT_GLACIER to zero in the middle of Greenland.

Point to that file using mksrf_fglacier in the namelist above

Create a new surface dataset:

./mksurfdata_map < surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c201009.namelist

The resulting surface dataset is:

surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c201009.nc

Use that file in your user_nl_clm for your case:

fsurdat = 'path_to_dataset/surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr2000_c201009.nc'

We are pretty sure you should also modify PCT_GLC_GIC and PCT_GLC_ICESHEET so that they sum to the same thing as PCT_GLACIER. I didn't in my case and it ran anyway, but it could have run incorrectly.
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
Hi, Thank you for your reply and help and sorry for this delayed query. Good news is, I could edit my input files properly and could successfully run the CESM-SGLC model.

My next query is, what are the parameters which are prescribed in the model to differentiate different land-units. Essentially, what I wanted to know is, when I changed a land-unit from Glacier to Natural vegetation what are the changes CESM will see and through which parameters these changes are visible? Can you please point me to those parameters? Thanks.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Good to hear you are running now.
The natural vegetated landunit consists of plant functional types (pfts). Most of the biophysical/biogeochemical parameters for the pfts are on the parameter file (the netcdf file identified by 'paramfile' in the lnd namelist). There are over 100 parameters. You'll have to read through the technical note (2. CLM Technical Note — ctsm release-clm5.0 documentation) to gain an understanding of these parameters, depending on what processes you are interested in.
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
Thank you for your quick reply and pointing me to the file and the technical note. This is really helpful.
I am actually interested to know how am I affecting the sensible heat flux by changing the ground surface conditions. For that, in part, I am trying to understand how much difference I made in the albedo by replacing PCT_GLC by PCT_NATVEG. I am trying to understand the calculation of "SoilAlbedo" in SurfaceAlbedoMod.F90. Please let me know if I am on the right track. Is there any albedo range prescribed for Glaciers (albice=0.8 to 0.55) and NatVeg? Thanks.
 
Top