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

clm input: ldomain cesm1.1

Hi!I have a problem with the land compenent in CESM1.1. I would appreciate if I could get some insight on how to deal with this.I need to specify ldomain from an existing input nc file I have from an older case run with cesm1.0.3, which I did the following way:
./xmlchange -file env_run.xml -id LND_DOMAIN_FILE -val fracdata_0.9x1.25_lgm21ka.110315.ncThe model crashes, with the following message from lnd.log:
 Attempting to read ldomain from /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.clm//fracdata_0.9x1.25_lgm21ka.110315.nc
(GETFIL): attempting to find local file fracdata_0.9x1.25_lgm21ka.110315.nc
(GETFIL): using /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.clm//fracdata_0.9x1.25_lgm21ka.110315.ncI think the problem is that cesm1.1 is expecting a different file format for this variable than cesm1.0.3 used to do.My input file (fracdata_0.9x1.25_lgm21ka.110315.nc) looks like:
variables:
    int NUMLON(lsmlat) ;
        NUMLON:long_name = "number of grid cells at each latitude" ;
        NUMLON:units = "unitless" ;
    double LONGXY(lsmlat, lsmlon) ;
        LONGXY:long_name = "longitude" ;
        LONGXY:units = "degrees east" ;
    double LATIXY(lsmlat, lsmlon) ;
        LATIXY:long_name = "latitude" ;
        LATIXY:units = "degrees north" ;
    int LANDMASK(lsmlat, lsmlon) ;
        LANDMASK:long_name = "land/ocean mask" ;
        LANDMASK:units = "0=ocean and 1=land" ;
    double LANDFRAC(lsmlat, lsmlon) ;
        LANDFRAC:long_name = "land fraction" ;
        LANDFRAC:units = "unitless" ;The default expected file should be something like:
ncdump -h /glade/p/cesm/cseg//inputdata/share/domains/domain.lnd.fv0.9x1.25_gx1v6.090309.nc
netcdf domain.lnd.fv0.9x1.25_gx1v6.090309 {
dimensions:
    n = 55296 ;
    ni = 288 ;
    nj = 192 ;
    nv = 4 ;
variables:
    double xc(nj, ni) ;
        xc:long_name = "longitude of grid cell center" ;
        xc:units = "degrees_east" ;
        xc:bounds = "xv" ;
    double yc(nj, ni) ;
        yc:long_name = "latitude of grid cell center" ;
        yc:units = "degrees_north" ;
        yc:bounds = "yv" ;
        yc:filter1 = " set_fv_pole_yc ON, yc = -+90 at j=1,j=nj" ;
    double xv(nj, ni, nv) ;
        xv:long_name = "longitude of grid cell verticies" ;
        xv:units = "degrees_east" ;
    double yv(nj, ni, nv) ;
        yv:long_name = "latitude of grid cell verticies" ;
        yv:units = "degrees_north" ;
    int mask(nj, ni) ;
        mask:long_name = "domain mask" ;
        mask:note = "unitless" ;
        mask:coordinates = "xc yc" ;
        mask:comment = "0 value indicates cell is not active" ;
    double area(nj, ni) ;
        area:long_name = "area of grid cell in radians squared" ;
        area:coordinates = "xc yc" ;
        area:units = "radian2" ;
    double frac(nj, ni) ;
        frac:long_name = "fraction of grid cell that is active" ;
        frac:coordinates = "xc yc" ;
        frac:note = "unitless" ;
        frac:filter1 = "error if frac> 1.0+eps or frac < 0.0-eps; eps = 0.1000000E-11" ;
        frac:filter2 = "limit frac to [fminval,fmaxval]; fminval= 0.1000000E-02 fmaxval=  1.000000" ;Does anyone know if there a tool to convert the old format into the one used by CESM1.1?
In case this is the issue...otherwise any additional insight would be very welcome!Thanks for any help!
 

nanr

Member
I don't think think the land domain file is causing your problems.  It looks as though your code is successfully finding and using the LGM fracdata file.Have you checked that you are pointing to the LGM coupler mapping files?Nan 
 

nanr

Member
I don't think think the land domain file is causing your problems.  It looks as though your code is successfully finding and using the LGM fracdata file.Have you checked that you are pointing to the LGM coupler mapping files?Nan 
 
Hi Nan!I edited the user_nl_cpl as followsorb_iyear =  -19050
atm2ocnvmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
atm2icesmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
atm2ocnsmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
atm2icevmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
ocn2atmfmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc
ice2atmfmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc
ocn2atmsmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc
ice2atmsmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc
atm2ocnfmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_aave_da_110315.nc
atm2icefmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_aave_da_110315.nc

but when I execute ./preview_namelists
ERROR(Build::Namelist::_parse_next): expect a F90 constant for a namelist instead got:  /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
ERROR: cpl.buildnml.csh failed

I am not sure why I have this...Thanks! 
 
Hi Nan!I edited the user_nl_cpl as followsorb_iyear =  -19050
atm2ocnvmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
atm2icesmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
atm2ocnsmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
atm2icevmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
ocn2atmfmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc
ice2atmfmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc
ocn2atmsmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc
ice2atmsmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc
atm2ocnfmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_aave_da_110315.nc
atm2icefmapname = /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_aave_da_110315.nc

but when I execute ./preview_namelists
ERROR(Build::Namelist::_parse_next): expect a F90 constant for a namelist instead got:  /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc
ERROR: cpl.buildnml.csh failed

I am not sure why I have this...Thanks! 
 
Hi Sam, thanks for the hint, worked fine.Hi Nan, it seems that even after re-reunning using the lgm coupler mapping files the model crashes at the same place...
 
Hi Sam, thanks for the hint, worked fine.Hi Nan, it seems that even after re-reunning using the lgm coupler mapping files the model crashes at the same place...
 

nanr

Member
Have you double checked that you are pointing to LGM-specific files for all components? Compare your namelists against those used for the CMIP5 LGM simulation; discrepancies are most likely the problem  e.g., fatmlndfrc, etc.
 

nanr

Member
Have you double checked that you are pointing to LGM-specific files for all components? Compare your namelists against those used for the CMIP5 LGM simulation; discrepancies are most likely the problem  e.g., fatmlndfrc, etc.
 
 Hi Nan!Thanks for your suggestion, here is what I see. I checked for the model using the lgm cpl mapping files, in /run/seq_maps.rc. It looks to me like they should be read-in. atm2iceFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_aave_da_110315.nc'atm2iceFmaptype: 'X'atm2iceSmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc'atm2iceSmaptype: 'X'atm2iceVmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc'atm2iceVmaptype: 'X'atm2lndFmapname: 'idmap'atm2lndFmaptype: 'X'atm2lndSmapname: 'idmap'atm2lndSmaptype: 'X'atm2ocnFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_aave_da_110315.nc'atm2ocnFmaptype: 'X'atm2ocnSmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc'atm2ocnSmaptype: 'X'atm2ocnVmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc'atm2ocnVmaptype: 'X'ice2atmFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc'ice2atmFmaptype: 'Y'ice2atmSmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc'ice2atmSmaptype: 'Y'lnd2atmFmapname: 'idmap'lnd2atmFmaptype: 'Y'lnd2atmSmapname: 'idmap'lnd2atmSmaptype: 'Y'lnd2rofFmapname: '/glade/p/cesm/cseg//inputdata/lnd/clm2/mappingdata/maps/0.9x1.25/map_0.9x1.25_nomask_to_0.5x0.5_nomask_aave_da_c120522.nc'lnd2rofFmaptype: 'X'ocn2atmFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc'ocn2atmFmaptype: 'Y'ocn2atmSmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc'ocn2atmSmaptype: 'Y'rof2lndFmapname: 'idmap'rof2lndFmaptype: 'Y'rof2ocnFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_r05_to_gx1p21k_e1000r300_110315.nc'rof2ocnFmaptype: 'Y' On the other hand the cesm.log (just en extract below) says: 1: Opened existing file1: /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.clm//fracda1: ta_0.9x1.25_lgm21ka.110315.nc 9830401: Opened existing file1: /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.clm//fracda1: ta_0.9x1.25_lgm21ka.110315.nc 98304032: ENDRUN:surfrd_get_grid ERROR: AREA NOT on file32:Abort(1) on node 32 (rank 32 in comm 1140850688): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 3232:INFO: 0031-306 pm_atexit: pm_exit_value is 1. Any help is welcome, thanks a lot!Samuel
 
 Hi Nan!Thanks for your suggestion, here is what I see. I checked for the model using the lgm cpl mapping files, in /run/seq_maps.rc. It looks to me like they should be read-in. atm2iceFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_aave_da_110315.nc'atm2iceFmaptype: 'X'atm2iceSmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc'atm2iceSmaptype: 'X'atm2iceVmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc'atm2iceVmaptype: 'X'atm2lndFmapname: 'idmap'atm2lndFmaptype: 'X'atm2lndSmapname: 'idmap'atm2lndSmaptype: 'X'atm2ocnFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_aave_da_110315.nc'atm2ocnFmaptype: 'X'atm2ocnSmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc'atm2ocnSmaptype: 'X'atm2ocnVmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_fv09_1.25_to_gx1p21k_bilin_da_110315.nc'atm2ocnVmaptype: 'X'ice2atmFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc'ice2atmFmaptype: 'Y'ice2atmSmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc'ice2atmSmaptype: 'Y'lnd2atmFmapname: 'idmap'lnd2atmFmaptype: 'Y'lnd2atmSmapname: 'idmap'lnd2atmSmaptype: 'Y'lnd2rofFmapname: '/glade/p/cesm/cseg//inputdata/lnd/clm2/mappingdata/maps/0.9x1.25/map_0.9x1.25_nomask_to_0.5x0.5_nomask_aave_da_c120522.nc'lnd2rofFmaptype: 'X'ocn2atmFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc'ocn2atmFmaptype: 'Y'ocn2atmSmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_gx1p21k_to_fv09_1.25_aave_da_110315.nc'ocn2atmSmaptype: 'Y'rof2lndFmapname: 'idmap'rof2lndFmaptype: 'Y'rof2ocnFmapname: '/glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.drv/map_r05_to_gx1p21k_e1000r300_110315.nc'rof2ocnFmaptype: 'Y' On the other hand the cesm.log (just en extract below) says: 1: Opened existing file1: /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.clm//fracda1: ta_0.9x1.25_lgm21ka.110315.nc 9830401: Opened existing file1: /glade/p/cesm/cseg/runs/ccsm4_0/b40.lgm21ka.1deg.003/SourceMods/src.clm//fracda1: ta_0.9x1.25_lgm21ka.110315.nc 98304032: ENDRUN:surfrd_get_grid ERROR: AREA NOT on file32:Abort(1) on node 32 (rank 32 in comm 1140850688): application called MPI_Abort(MPI_COMM_WORLD, 1) - process 3232:INFO: 0031-306 pm_atexit: pm_exit_value is 1. Any help is welcome, thanks a lot!Samuel
 

slevis

Moderator
Maybe I'm totally off, but the error:ENDRUN:surfrd_get_grid ERROR: AREA NOT on filemakes me wonder whether the file was used successfully in prior model versions and should be updated for the model version that you're using.Sam
 

slevis

Moderator
Maybe I'm totally off, but the error:ENDRUN:surfrd_get_grid ERROR: AREA NOT on filemakes me wonder whether the file was used successfully in prior model versions and should be updated for the model version that you're using.Sam
 
Hi Sam, thanks, that was my impression.I'm thinking that in the transition from cesm1.0.5 to cesm1.1 this was done e.g. for the current climate files that are the defualt in the compsets, so I would assume there is a standard tool that was used for that purpose. If so, do you know which that script would be?Thanks,Samuel
 
Hi Sam, thanks, that was my impression.I'm thinking that in the transition from cesm1.0.5 to cesm1.1 this was done e.g. for the current climate files that are the defualt in the compsets, so I would assume there is a standard tool that was used for that purpose. If so, do you know which that script would be?Thanks,Samuel
 

slevis

Moderator
CLM surface datasets are generated using the mksurfdata tool available in the clm /tools directory. It's not as straightfwd though as giving it the old file and getting a new one. This tool starts from a long list of files and generates the surface dataset. Nan may advise based on how this was done previously for the file that you have.An alternative that may or may not work would be to take one of the default present day or 1850 files that contain this AREA variable and bring this variable into your file that's missing it. This may work if you start from a file of the same horiz. resolution as yours and if the area values are consistent and if the AREA variable does not contain land-ocean mask info.Sam
 

slevis

Moderator
CLM surface datasets are generated using the mksurfdata tool available in the clm /tools directory. It's not as straightfwd though as giving it the old file and getting a new one. This tool starts from a long list of files and generates the surface dataset. Nan may advise based on how this was done previously for the file that you have.An alternative that may or may not work would be to take one of the default present day or 1850 files that contain this AREA variable and bring this variable into your file that's missing it. This may work if you start from a file of the same horiz. resolution as yours and if the area values are consistent and if the AREA variable does not contain land-ocean mask info.Sam
 

nanr

Member
Hi Samuel -
The clm code has changed and cesm111 no longer uses a fracdata file.  Instead, point to the domain.lnd file created for the LGM (domain.lnd.fv0.9x1.25_gx1p21k.110315.nc), substituting it for the default domain.lnd file in the namelist).  I have attached the file for you:  domain.lnd.fv0.9x1.25_gx1p21k.110315.nc You will also need to point to this file in env_conf.xml:
   


   


   


Good luck, nan
 
Top