raise FinamNoDataError(f"No data available in {self.name}") for independent Latitude, Longitude coordinates
In the Finam example 01_Hargreaves-Samani, the temperature data used to calculate "pet" follows a two-dimensional latitude, longitude coordinate variables according to CF conventions Section 5.2, where a cartesian system is applied, e.g:
dimensions:
xc = 128 ;
yc = 64 ;
lev = 18 ;
variables:
float T(lev,yc,xc) ;
T:long_name = "temperature" ;
T:units = "K" ;
T:coordinates = "lon lat" ;
float xc(xc) ;
xc:axis = "X" ;
xc:long_name = "x-coordinate in Cartesian system" ;
xc:units = "m" ;
float yc(yc) ;
yc:axis = "Y" ;
yc:long_name = "y-coordinate in Cartesian system" ;
yc:units = "m" ;
float lev(lev) ;
lev:long_name = "pressure level" ;
lev:units = "hPa" ;
float lon(yc,xc) ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
float lat(yc,xc) ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;
However, there are cases where the latitude and longitude are represented as independent coordinates in degrees or radians, e.g:
dimensions:
lat = 18 ;
lon = 36 ;
pres = 15 ;
time = 4 ;
variables:
float xwind(time,pres,lat,lon) ;
xwind:long_name = "zonal wind" ;
xwind:units = "m/s" ;
float lon(lon) ;
lon:long_name = "longitude" ;
lon:units = "degrees_east" ;
float lat(lat) ;
lat:long_name = "latitude" ;
lat:units = "degrees_north" ;
float pres(pres) ;
pres:long_name = "pressure" ;
pres:units = "hPa" ;
double time(time) ;
time:long_name = "time" ;
time:units = "days since 1990-1-1 0:0:0" ;
This independency of the latitude and longitude applies, for example, to the data stored in the Levante cluster, which is used for the DestinE project.
For now Oudini Et al. (2005)
is the equation implemented to calculate pet
using temperature data provided in Levante. This code is similar to the Hargreaves-Samani example
and it is located at DestinE branch
To visualise this error message, I modified the code and added a nc-file with temperature data from a data-set published by NASA, available here. This way one just need to run `pet_calculator.py' to see the raise Error without accessing to the cluster.
This error comes from the latitude lat
and appears after the initialisation of the variables in the pet component. Fortunately, it does not stop the pet calculation, nor does it seem to have a negative impact on the results.
Any thoughts about why this raise Error
shows up, and if is it something we could ignore or not @mlange and @muellese ?