Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with running ./cms and ./getdata related to input file #46

Open
Doria-Zhang opened this issue Dec 9, 2023 · 0 comments
Open

Comments

@Doria-Zhang
Copy link

I am utilizing CMS with another data source (not HYCOM), and I modified mod_getdata.f90 in the /src subdirectary. A problem has risen in the output of ./getdata with an abnormal value of -10 (near the land). I checked the original file before I used ./getdata, there was no abnormal value like -10, so I think there must be something wrong with my modified mod_getdata.f90. I'll stick it in the .zip file.

> 
> ncdump -h nest_1_19980101000000.nc
> netcdf nest_1_19980101000000 {
> dimensions:
>         Longitude = 1701 ;
>         Latitude = 801 ;
>         Depth = 50 ;
>         Time = UNLIMITED ; // (1 currently)
> variables:
>         float Longitude(Longitude) ;
>                 Longitude:units = "degrees_east" ;
>                 Longitude:valid_range = 90.f, 260.f ;
>         float Latitude(Latitude) ;
>                 Latitude:units = "degrees_north" ;
>                 Latitude:valid_range = -20.f, 60.f ;
>         float Depth(Depth) ;
>                 Depth:units = "meter" ;
>                 Depth:valid_range = 2.5f, 3603.101f ;
>                 Depth:positive = "down" ;
>         float zu(Time, Depth, Latitude, Longitude) ;
>                 zu:long_name = "eastward_sea_water_velocity" ;
>                 zu:units = "m/s" ;
>                 zu:_FillValue = 1.267651e+30f ;
>                 zu:valid_range = -10.00031f, 1.816767f ;
>         float zv(Time, Depth, Latitude, Longitude) ;
>                 zv:long_name = "northward_sea_water_velocity" ;
>                 zv:units = "m/s" ;
>                 zv:_FillValue = 1.267651e+30f ;
>                 zv:valid_range = -10.00031f, 2.092349f ;
>         float zw(Time, Depth, Latitude, Longitude) ;
>                 zw:long_name = "downward_sea_water_velocity" ;
>                 zw:units = "m/s" ;
>                 zw:_FillValue = 1.267651e+30f ;
>                 zw:valid_range = -0.007642427f, 8.75e+19f ;
> }
> 

Another problem is that after I got the abnormal value from ./getdata, I wanted to use CDO with the command setvrange to modify the nest_1_19980101000000.nc (take it as an example, for the format) again. But after I delt with it, I got another Error message when I tried to run ./cms again. It seems that the dimension "Time" is changed to "time", and there is a new variable "time" in the CDO modified nest NC file (nest_1_19980101000000.nc, format), I can read the CDO modified NC file using ncl and ncdump, so I don't know how to check what got wrong with the file. I searched for the error message and I see it occurs in the fortran code ./src, mod_netcdf.f90, but I do not know what is the exact place calling the ncheck in mod_netcdf.f90.

the modified nest NC file is like that:


> ncdump -h expt_bran_1998/nests/nest_1_20100101000000.nc
> netcdf nest_1_20100101000000 {
> dimensions:
>         time = UNLIMITED ; // (1 currently)
>         Longitude = 1701 ;
>         Latitude = 801 ;
>         Depth = 50 ;
> variables:
>         double time(time) ;
>                 time:standard_name = "time" ;
>                 time:units = "day as %Y%m%d.%f" ;
>                 time:calendar = "proleptic_gregorian" ;
>                 time:axis = "T" ;
>         float Longitude(Longitude) ;
>                 Longitude:standard_name = "longitude" ;
>                 Longitude:long_name = "longitude" ;
>                 Longitude:units = "degrees_east" ;
>                 Longitude:axis = "X" ;
>         float Latitude(Latitude) ;
>                 Latitude:standard_name = "latitude" ;
>                 Latitude:long_name = "latitude" ;
>                 Latitude:units = "degrees_north" ;
>                 Latitude:axis = "Y" ;
>         float Depth(Depth) ;
>                 Depth:units = "meter" ;
>                 Depth:positive = "down" ;
>                 Depth:axis = "Z" ;
>         float zu(time, Depth, Latitude, Longitude) ;
>                 zu:long_name = "eastward_sea_water_velocity" ;
>                 zu:units = "m/s" ;
>                 zu:_FillValue = 1.267651e+30f ;
>                 zu:missing_value = 1.267651e+30f ;
>         float zv(time, Depth, Latitude, Longitude) ;
>                 zv:long_name = "northward_sea_water_velocity" ;
>                 zv:units = "m/s" ;
>                 zv:_FillValue = 1.267651e+30f ;
>                 zv:missing_value = 1.267651e+30f ;
>         float zw(time, Depth, Latitude, Longitude) ;
>                 zw:long_name = "downward_sea_water_velocity" ;
>                 zw:units = "m/s" ;
>                 zw:_FillValue = 1.267651e+30f ;
>                 zw:missing_value = 1.267651e+30f ;
> 
> // global attributes:
>                 :CDI = "Climate Data Interface version 1.9.8 (https://mpimet.mpg.de/cdi)" ;
>                 :Conventions = "CF-1.6" ;
>                 :history = "Fri Dec 08 15:03:27 2023: cdo setvrange,-10,10 nest_1_20100101000000.nc nest_1_20100101000000_test.nc" ;
>                 :CDO = "Climate Data Operators version 1.9.8 (https://mpimet.mpg.de/cdo)" ;
> }
> 
> 

And the wrong Error message is like:

> Error in the netCDF file: expt_bran_1998/nests/nest_1_20100101000000.nc
>  NetCDF: Start+count exceeds dimension bound

cms-src-getdata-modified.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant