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

Problems with mkmapdata.sh while trying to set up a point scale run on CLM4.5 on cheyenne machine.

Dear All,I am trying to create a surface data-set for single point run taking example 'Example 5-5. Example of creating a surface dataset for a single point' from the user guide.I am doing it on NCAR cheyenne machine. When I try to run the following step it fails:./mkmapdata.sh -r $GRIDNAME -f $GRIDFILE -t regional

With the following error:
#####################################
Script to create mapping files required by mksurfdata_map
query command is ./../../../bld/queryDefaultNamelist.pl -silent -namelist clmexp -phys clm4_5 -justvalue -options sim_year=2000 -csmdata /glade/p/cesm/cseg/inputdata

Using user specified scrip grid file: /glade/u/home/azpandey/cesm1_2_2_1/models/lnd/clm/tools/shared/mkmapgrids/SCRIPgrid_1x1_GAre_nomask_c180202.nc
Output grid resolution is 1x1_GAre
Machine cheyenne3 NOT recognized
rm: cannot remove ‘PET*.Log’: No such file or directory
Creating mapping file: map_0.5x0.5_AVHRR_to_1x1_GAre_nomask_aave_da_c180202.nc
From input grid: /glade/p/cesm/cseg/inputdata/lnd/clm2/mappingdata/grids/SCRIPgrid_0.5x0.5_AVHRR_c110228.nc
For output grid: /glade/u/home/azpandey/cesm1_2_2_1/models/lnd/clm/tools/shared/mkmapgrids/SCRIPgrid_1x1_GAre_nomask_c180202.nc

/glade/u/apps/opt/esmf/6.1.1-ncdfio/intel/12.1.5/bin/binO/Linux.intel.64.mpich2.default/ESMF_RegridWeightGen: error while loading shared libraries: libnetcdf_c++4.so.1: cannot open shared object file: No such file or directory
Error status returned from mkmapdata script
#################################################################################################################

I have all the scripts in the following directories on the NCAR cheyenne machine:
/glade/u/home/azpandey/cesm1_2_2_1/models/lnd/clm/tools/shared/mkmapdata/

Any help would be much appreciated.
Regards

 
 

erik

Erik Kluzek
CSEG and Liaisons
Staff member
Hi Ashutosh We have mkmapdata.sh working in the latest development version of CLM and the newly released clm5.0.000. I looked through the commits for mkmapdata.sh and iit looks like the core bit of changes I had to get it working was as follows... +  ##cheyenne+  cheyenne* | r* )+  . /glade/u/apps/ch/opt/lmod/7.2.1/lmod/lmod/init/bash+  esmfvers=7.0.0+  intelvers=16.0.3+  module load esmf_libs/$esmfvers+  module load intel/$intelvers+  module load ncl+  module load nco+  #export MPI_USE_ARRAY=false++  if [ -z "$ESMFBIN_PATH" ]; then+     if [ "$interactive" = "NO" ]; then+        mpi=ncdfio-mpi+        mpitype="mpi"+     else+        mpi=ncdfio+        mpitype="mpiuni"+     fi+     ESMFBIN_PATH=/glade/u/apps/ch/opt/esmf/${esmfvers}-${mpi}/intel/$intelvers/bin/binO/Linux.intel.64.${mpitype}.default+  fi+  if [ -z "$MPIEXEC" ]; then+     #MPIEXEC="mpirun -np $REGRID_PROC"+     MPIEXEC="mpiexec_mpt -np $REGRID_PROC"+  fi+  ;;+ Hopefully, that gives you some help on getting this going. It looks like you changed the path didn't make other changes. If you submit to batch you either need to send it to geyser, or do something like the following to get enough memory... # cheyenne specific batch commands:#PBS -A P93300606#PBS -N regrid#PBS -q regular#PBS -l select=4:ncpus=2:mpiprocs=2:mem=109GB#PBS -l walltime=2:00:00#PBS -j oe#PBS -me#PBS -V#PBS -S /bin/bash 
 

erik

Erik Kluzek
CSEG and Liaisons
Staff member
Hi Ashutosh We have mkmapdata.sh working in the latest development version of CLM and the newly released clm5.0.000. I looked through the commits for mkmapdata.sh and iit looks like the core bit of changes I had to get it working was as follows... +  ##cheyenne+  cheyenne* | r* )+  . /glade/u/apps/ch/opt/lmod/7.2.1/lmod/lmod/init/bash+  esmfvers=7.0.0+  intelvers=16.0.3+  module load esmf_libs/$esmfvers+  module load intel/$intelvers+  module load ncl+  module load nco+  #export MPI_USE_ARRAY=false++  if [ -z "$ESMFBIN_PATH" ]; then+     if [ "$interactive" = "NO" ]; then+        mpi=ncdfio-mpi+        mpitype="mpi"+     else+        mpi=ncdfio+        mpitype="mpiuni"+     fi+     ESMFBIN_PATH=/glade/u/apps/ch/opt/esmf/${esmfvers}-${mpi}/intel/$intelvers/bin/binO/Linux.intel.64.${mpitype}.default+  fi+  if [ -z "$MPIEXEC" ]; then+     #MPIEXEC="mpirun -np $REGRID_PROC"+     MPIEXEC="mpiexec_mpt -np $REGRID_PROC"+  fi+  ;;+ Hopefully, that gives you some help on getting this going. It looks like you changed the path didn't make other changes. If you submit to batch you either need to send it to geyser, or do something like the following to get enough memory... # cheyenne specific batch commands:#PBS -A P93300606#PBS -N regrid#PBS -q regular#PBS -l select=4:ncpus=2:mpiprocs=2:mem=109GB#PBS -l walltime=2:00:00#PBS -j oe#PBS -me#PBS -V#PBS -S /bin/bash 
 

erik

Erik Kluzek
CSEG and Liaisons
Staff member
Hi Ashutosh We have mkmapdata.sh working in the latest development version of CLM and the newly released clm5.0.000. I looked through the commits for mkmapdata.sh and iit looks like the core bit of changes I had to get it working was as follows... +  ##cheyenne+  cheyenne* | r* )+  . /glade/u/apps/ch/opt/lmod/7.2.1/lmod/lmod/init/bash+  esmfvers=7.0.0+  intelvers=16.0.3+  module load esmf_libs/$esmfvers+  module load intel/$intelvers+  module load ncl+  module load nco+  #export MPI_USE_ARRAY=false++  if [ -z "$ESMFBIN_PATH" ]; then+     if [ "$interactive" = "NO" ]; then+        mpi=ncdfio-mpi+        mpitype="mpi"+     else+        mpi=ncdfio+        mpitype="mpiuni"+     fi+     ESMFBIN_PATH=/glade/u/apps/ch/opt/esmf/${esmfvers}-${mpi}/intel/$intelvers/bin/binO/Linux.intel.64.${mpitype}.default+  fi+  if [ -z "$MPIEXEC" ]; then+     #MPIEXEC="mpirun -np $REGRID_PROC"+     MPIEXEC="mpiexec_mpt -np $REGRID_PROC"+  fi+  ;;+ Hopefully, that gives you some help on getting this going. It looks like you changed the path didn't make other changes. If you submit to batch you either need to send it to geyser, or do something like the following to get enough memory... # cheyenne specific batch commands:#PBS -A P93300606#PBS -N regrid#PBS -q regular#PBS -l select=4:ncpus=2:mpiprocs=2:mem=109GB#PBS -l walltime=2:00:00#PBS -j oe#PBS -me#PBS -V#PBS -S /bin/bash 
 
Hi Erik:Thank you for your reply. It worked, although we needed to change the intel version to intelvers=17.0.1. We have sucessfully ran some steps of the example 5.5. Now we are stuck at running ./gen_domain -m $MAPFILE -o $OCNDOM -l $ATMDOM

When we run this script it shows the following error:
###################################################
create domain.ocn.domain.ocn_noocean.nc.180216.nc
write domain.ocn.domain.ocn_noocean.nc.180216.nc
(shr_sys_getenv) ERROR: no implementation of getenv for this architecture
(shr_sys_getenv) no implementation of getenv for this machine
########################################################
directory for this script is : /glade/u/home/azpandey/cesm1_2_2_1/tools/mapping/gen_domain_files/

Can you help regarding this?

Thanks and regards
-Ashutosh
 
Hi Erik:Thank you for your reply. It worked, although we needed to change the intel version to intelvers=17.0.1. We have sucessfully ran some steps of the example 5.5. Now we are stuck at running ./gen_domain -m $MAPFILE -o $OCNDOM -l $ATMDOM

When we run this script it shows the following error:
###################################################
create domain.ocn.domain.ocn_noocean.nc.180216.nc
write domain.ocn.domain.ocn_noocean.nc.180216.nc
(shr_sys_getenv) ERROR: no implementation of getenv for this architecture
(shr_sys_getenv) no implementation of getenv for this machine
########################################################
directory for this script is : /glade/u/home/azpandey/cesm1_2_2_1/tools/mapping/gen_domain_files/

Can you help regarding this?

Thanks and regards
-Ashutosh
 
Hi Erik:Thank you for your reply. It worked, although we needed to change the intel version to intelvers=17.0.1. We have sucessfully ran some steps of the example 5.5. Now we are stuck at running ./gen_domain -m $MAPFILE -o $OCNDOM -l $ATMDOM

When we run this script it shows the following error:
###################################################
create domain.ocn.domain.ocn_noocean.nc.180216.nc
write domain.ocn.domain.ocn_noocean.nc.180216.nc
(shr_sys_getenv) ERROR: no implementation of getenv for this architecture
(shr_sys_getenv) no implementation of getenv for this machine
########################################################
directory for this script is : /glade/u/home/azpandey/cesm1_2_2_1/tools/mapping/gen_domain_files/

Can you help regarding this?

Thanks and regards
-Ashutosh
 

erik

Erik Kluzek
CSEG and Liaisons
Staff member
Ashutosh The problem here is the build for the gen_domain program. It's not being setup correctly, so it thinks it can't find "getenv" on cheyenne. It's probably because the environment variables OS and COMPILER need to be set and aren't. That will set the appropriate CPP flags that need to be set for it to find the version of "getenv" that is available for the intel compiler. Did you source the "env_mach_specific" file that was created as part of the configure step for gen_domain? And you used cheyenne as the machine for the configure step? I just tried this out with cesm1_2_2_1 and it worked for me.
setenv MPILIB "mpi-serial"../../../../scripts/ccsm_utils/Machines/configure -mach cheyenne source env_mach_specificgmake 
 

erik

Erik Kluzek
CSEG and Liaisons
Staff member
Ashutosh The problem here is the build for the gen_domain program. It's not being setup correctly, so it thinks it can't find "getenv" on cheyenne. It's probably because the environment variables OS and COMPILER need to be set and aren't. That will set the appropriate CPP flags that need to be set for it to find the version of "getenv" that is available for the intel compiler. Did you source the "env_mach_specific" file that was created as part of the configure step for gen_domain? And you used cheyenne as the machine for the configure step? I just tried this out with cesm1_2_2_1 and it worked for me.
setenv MPILIB "mpi-serial"../../../../scripts/ccsm_utils/Machines/configure -mach cheyenne source env_mach_specificgmake 
 

erik

Erik Kluzek
CSEG and Liaisons
Staff member
Ashutosh The problem here is the build for the gen_domain program. It's not being setup correctly, so it thinks it can't find "getenv" on cheyenne. It's probably because the environment variables OS and COMPILER need to be set and aren't. That will set the appropriate CPP flags that need to be set for it to find the version of "getenv" that is available for the intel compiler. Did you source the "env_mach_specific" file that was created as part of the configure step for gen_domain? And you used cheyenne as the machine for the configure step? I just tried this out with cesm1_2_2_1 and it worked for me.
setenv MPILIB "mpi-serial"../../../../scripts/ccsm_utils/Machines/configure -mach cheyenne source env_mach_specificgmake 
 
Hi Erik,Thanks for the reply. I can not make it work.When I try source env_mach_specific, it gives this error:PNETCDF: Undefined variable.
I provided the following path for PNETCDF: setenv PNETCDF /glade/u/apps/ch/opt/pnetcdf/1.8.0/mpt/2.15/intel/17.0.1/lib
When I run gmake after this it gives the following error:
##############################################################################
Makefile:109: /Macros: No such file or directory
cat: Srcfiles: No such file or directory
/mkSrcfiles
gmake: /mkSrcfiles: Command not found
gmake: *** No rule to make target '/Macros'.  Stop.
########################################################
I would really appreciate any suggestions regarding this error.
Best regards
-Ashutosh
 
Hi Erik,Thanks for the reply. I can not make it work.When I try source env_mach_specific, it gives this error:PNETCDF: Undefined variable.
I provided the following path for PNETCDF: setenv PNETCDF /glade/u/apps/ch/opt/pnetcdf/1.8.0/mpt/2.15/intel/17.0.1/lib
When I run gmake after this it gives the following error:
##############################################################################
Makefile:109: /Macros: No such file or directory
cat: Srcfiles: No such file or directory
/mkSrcfiles
gmake: /mkSrcfiles: Command not found
gmake: *** No rule to make target '/Macros'.  Stop.
########################################################
I would really appreciate any suggestions regarding this error.
Best regards
-Ashutosh
 
Hi Erik,Thanks for the reply. I can not make it work.When I try source env_mach_specific, it gives this error:PNETCDF: Undefined variable.
I provided the following path for PNETCDF: setenv PNETCDF /glade/u/apps/ch/opt/pnetcdf/1.8.0/mpt/2.15/intel/17.0.1/lib
When I run gmake after this it gives the following error:
##############################################################################
Makefile:109: /Macros: No such file or directory
cat: Srcfiles: No such file or directory
/mkSrcfiles
gmake: /mkSrcfiles: Command not found
gmake: *** No rule to make target '/Macros'.  Stop.
########################################################
I would really appreciate any suggestions regarding this error.
Best regards
-Ashutosh
 

jedwards

CSEG and Liaisons
Staff member
From Erik's emailsource env_mach_specific should be source .env_mach_specific.[sh, csh]   which one depends on your shell.
 

jedwards

CSEG and Liaisons
Staff member
From Erik's emailsource env_mach_specific should be source .env_mach_specific.[sh, csh]   which one depends on your shell.
 

jedwards

CSEG and Liaisons
Staff member
From Erik's emailsource env_mach_specific should be source .env_mach_specific.[sh, csh]   which one depends on your shell.
 

lbirch@whrc_org

New Member
Hi all,I'm also getting the error associated with gen_domain on Cheyenne, but for clm5.0:(shr_sys_getenv) ERROR: no implementation of getenv for this architecture(shr_sys_getenv) no implementation of getenv for this machine
This is my .env_mach_specific.sh, which I source before gmake:module purgemodule load ncarenv/1.2module load intel/17.0.1module load esmf_libsmodule load mklmodule load esmf-7.0.0-ncdfio-uni-Omodule load ncarcompilers/0.4.1module load netcdf/4.4.1.1export OMP_STACKSIZE=256Mexport TMPDIR=/glade/scratch/lbirchexport MPI_TYPE_DEPTH=16export COMPILER=intelexport MPILIB=mpi-serialexport DEBUG=FALSEexport OS=LINUX
Does this look right for bash? Do you have any advice?Thanks so much,Leah
 

lbirch@whrc_org

New Member
Hi all,I'm also getting the error associated with gen_domain on Cheyenne, but for clm5.0:(shr_sys_getenv) ERROR: no implementation of getenv for this architecture(shr_sys_getenv) no implementation of getenv for this machine
This is my .env_mach_specific.sh, which I source before gmake:module purgemodule load ncarenv/1.2module load intel/17.0.1module load esmf_libsmodule load mklmodule load esmf-7.0.0-ncdfio-uni-Omodule load ncarcompilers/0.4.1module load netcdf/4.4.1.1export OMP_STACKSIZE=256Mexport TMPDIR=/glade/scratch/lbirchexport MPI_TYPE_DEPTH=16export COMPILER=intelexport MPILIB=mpi-serialexport DEBUG=FALSEexport OS=LINUX
Does this look right for bash? Do you have any advice?Thanks so much,Leah
 

lbirch@whrc_org

New Member
Hi all,I'm also getting the error associated with gen_domain on Cheyenne, but for clm5.0:(shr_sys_getenv) ERROR: no implementation of getenv for this architecture(shr_sys_getenv) no implementation of getenv for this machine
This is my .env_mach_specific.sh, which I source before gmake:module purgemodule load ncarenv/1.2module load intel/17.0.1module load esmf_libsmodule load mklmodule load esmf-7.0.0-ncdfio-uni-Omodule load ncarcompilers/0.4.1module load netcdf/4.4.1.1export OMP_STACKSIZE=256Mexport TMPDIR=/glade/scratch/lbirchexport MPI_TYPE_DEPTH=16export COMPILER=intelexport MPILIB=mpi-serialexport DEBUG=FALSEexport OS=LINUX
Does this look right for bash? Do you have any advice?Thanks so much,Leah
 
Top