I am facing an issue while running the offline version of the CABLE model. The error originates from the subroutine located in the CABLE-main/src/offline/cable_input.F90 file.
While checking the error, I found that the Restart file is missing, due to which the CABLE model attempts to use default parameter values, which subsequently lead to errors in further calculations. I want to know how I can obtain or generate the required Restart file or resolve this issue in the absence of the Restart file.
The error logs are:
(gdb) run
Starting program: /home/alpha/Downloads/CABLE_July/CABLE-main/CABLE-main/bin/cable
[Thread debugging using libthread_db enabled]
Using host libthread_db library “/lib/x86_64-linux-gnu/libthread_db.so.1”.
Cannot process command line definition of namelist fie
using cable.nml as the namelsit
THE NAME LIST IS cable.nml
Use spatially-specific soil properties; 360 150
0
0
When choosing spatially-specific soil properties,
snow-free albedo is also overwritten by this data set.
Reading CABLE_PFTPARM namelist…
Reading CABLE_SOILPARM namelist…
Total number of patches (countPatch): 1
Entering Subroutine allocate_cable_vars
allocate patch fraction variable
Ending Subroutine allocate_cable_vars
iveg 1 2
patchfrac 1 1.00000000
Could neither find restart file ./
nor ./
Pre-loaded default initialisations are used.
Loaded some parameters from met input file: TumbaFluxnet.1.3_met.nc the rest are default values - check log file
ensuring consistency of ice points
Program received signal SIGFPE, Arithmetic exception.
0x0000555555598789 in cable_param_module::derived_parameters (soil=…, sum_flux=…, bal=…, ssnow=…, veg=…, rough=…) at /home/alpha/Downloads/CABLE_July/CABLE-main/CABLE-main/src/offline/cable_parameters.F90:1812
1812 soil_depth(:,klev) = soil_depth(:,klev-1) + soil%zse_vec(:,klev)
I think this problem is specifically to do with the “gridinfo” NetCDF file in our terminology. This contains a mixture of state and parameter variables, and is generally a sufficient starting point for running purely biophysical simulations (i.e. no CASA). Here’s a dump of the file to give you an idea of what is necessary:
Dataset: gadi/rp23/data/no_provenance/gridinfo/gridinfo_CSIRO_1x1.nc
Group: /
Dimensions
longitude = 360
latitude = 150
patch = 1
soil = 6
rad = 3
time = 12
Variables
longitude (360)
Datatype: Float32 (Float32)
Dimensions: longitude
Attributes:
units = degrees_East
latitude (150)
Datatype: Float32 (Float32)
Dimensions: latitude
Attributes:
units = degrees_North
area (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
units = m^2
missing_value = -99.0
iveg (360 × 150)
Datatype: Union{Missing, Int32} (Int32)
Dimensions: longitude × latitude
Attributes:
long_name = CSIRO classification of veg type
missing_value = -1
patchfrac (360 × 150 × 1)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude × patch
Attributes:
long_name = Patch fraction; 1.0 for 1x1 grid
missing_value = -1.0
isoil (360 × 150)
Datatype: Union{Missing, Int32} (Int32)
Dimensions: longitude × latitude
Attributes:
long_name = Zobler soil type
missing_value = -1
SoilMoist (360 × 150 × 6 × 12)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude × soil × time
Attributes:
long_name = Soil moisture profile from previous GSWP runs
units = m^3/m^3
missing_value = -1.0
SoilTemp (360 × 150 × 6 × 12)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude × soil × time
Attributes:
long_name = Soil temperature profile from previous GSWP runs
units = K
missing_value = -1.0
SnowDepth (360 × 150 × 12)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude × time
Attributes:
units = m
missing_value = -1.0
Albedo (360 × 150 × 3)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude × rad
Attributes:
long_name = ISLSCP2 snow-free bareground albedo
missing_value = -1.0
LAI (360 × 150 × 12)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude × time
Attributes:
long_name = Leaf area index
missing_value = -1.0
SoilOrder (360 × 150)
Datatype: Union{Missing, Int32} (Int32)
Dimensions: longitude × latitude
Attributes:
missing_value = -1
Ndep (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = annual Nitrogen deposition rate
units = g N/m^2/year
missing_value = -99.0
Nfix (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = annual Nitrogen fixation rate
units = g N/m^2/year
missing_value = -99.0
Pwea (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = annual yield of Phosphorus from weathering
units = g P/m^2/year
missing_value = -99.0
Pdust (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = annual yield of Phosphorus from dust deposition
units = g P/m^2/year
missing_value = -99.0
clay (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = UM soil texture - clay fraction
missing_value = -1.0
silt (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = UM soil texture - silt fraction
missing_value = -1.0
sand (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = UM soil texture - sand fraction
missing_value = -1.0
swilt (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = VOL SMC AT WILTING
missing_value = -1.0
sfc (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = VOL SMC AT CRIT PT
missing_value = -1.0
ssat (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = VOL SMC AT SATURATION
missing_value = -1.0
bch (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = CLAPP-HORNBERGER B COEFFICIENT
missing_value = -1.0
hyds (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = SAT SOIL CONDUCTIVITY
units = m/s
missing_value = -1.0
sucs (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = SATURATED SOIL WATER SUCTION
units = m
missing_value = -1.0
rhosoil (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = SOIL BULK DENSITY
units = kg/m3
missing_value = -1.0
cnsd (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = THERMAL CONDUCTIVITY
units = W/m/K
missing_value = -1.0
css (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = Soil specific heat capacity
units = J/kg/K
missing_value = -1.0
albedo2 (360 × 150)
Datatype: Union{Missing, Float32} (Float32)
Dimensions: longitude × latitude
Attributes:
long_name = UM SNOW-FREE ALBEDO OF SOIL
missing_value = -1.0
Unfortunately this is not well documented, and we don’t yet have provenance for this file.
clairecarouge
(Claire Carouge, ACCESS-NRI Land Modelling Team Lead)
5
Hi Priyanka,
I’m taking over from @lachlanswhyborn because I think that I encountered a related error a few days ago, and I have a fix. If I’m correct, it’s not a problem with the input files but a problem with the initialisation of zse_vec in the code.
The fix is in a branch we can’t merge in the main version yet for other reasons. So I’ll need to get the fix out in a different branch and merge in for this to work. It’ll take me a few days probably to get it all done.
Hi @clairecarouge, thank you for your response. I will wait for your fix to try out. Please let me know whenever it is ready and how I can access it.
clairecarouge
(Claire Carouge, ACCESS-NRI Land Modelling Team Lead)
7
@project2114 , I’ve applied the fix to CABLE. Although, I have been unable to reproduce your error exactly so it may not solve everything for you.
To use the updated version, you can run git pull within the CABLE directory. If it doesn’t work (because you have made local changes), you will need to do the following:
re-clone the repository in another directory with git clone
create a branch to put your local changes (you shouldn’t put any changes directly in the main branch).
copy your changes from your first local CABLE repository to the new one
delete the first local CABLE repository.
If this new version does not solve your problem, we will need more information about what you are running (input files, command and changes to the code, etc.).
Hi @clairecarouge, thanks for the update. I’ve pulled the latest changes, and CABLE is now running successfully in my setup. However, I’m currently trying to get the CASA-CNP module to run in cold start mode, and it seems it’s not yet initializing properly. I’m working through the configuration to ensure it spins up correctly.
I’ll report back once I’ve verified CASA-CNP is functioning as expected.
clairecarouge
(Claire Carouge, ACCESS-NRI Land Modelling Team Lead)
9
I’m glad to hear this has been solved. To inform other users, I will mark this request as solved and close the topic. Please open a different topic if you have issues with CASA-CNP.
Also, would you mind if I change the topic’s title to better reflect the issue (problem with zse_vec initialisation instead of restart file error)?