Hi Jon,
I've seen the actual default value which is sent by openDAP and it is
actually 52.767. However, the set var/bad still doesn't work, even with
52.767.
For example I can get from ferret :
yes? use
"http://rhisib18:8080/grads-dods/coriolis/coriolis-atlantic-temperature-weekly-oa_v3_rt"
yes? set var/bad=52.767 temperature
yes? list/t=05-jan-2000/z=10/x=-100/y=0/format=(g12.6) temperature
VARIABLE : Temperature (degree_Celsius)
DATA SET : CORIOLIS Analysed temperature
FILENAME : coriolis-atlantic-temperature-weekly-oa_v3_rt
FILEPATH : http://rhisib18:8080/grads-dods/coriolis/
BAD FLAG : 52.76700
LONGITUDE: 100W(-100)
LATITUDE : 0
HEIGHT (millibar): 10
TIME : 05-JAN-2000 00:00
52.7670
And the 'shade' command makes graphs showing the default value inside
the colormap.
I even removed my dods cache directory (rm -fr ~/.dods_cache/) before
my test.
Jennifer Adams from COLAS is trying to see if there not a way to turn
around in the GDS configuration.
Bye,
Thomas
Jonathan Callahan wrote:
Thomas,
This may or may not have anything to do with your problem but I did
notice one thing in your email.
You should be aware that Ferret rounds values when listing to fit in
the default space. That's why you are seeing "52.77" instead of
"54.767". To see the actual value you should use a formatting
qualifier like this:
list/t=10-nov-2004/z=10/x=-100/format=(g12.6)
temperature
So you might want to try setting this as the bad flag:
set variable/bad=52.767 temperature
-- Jon
Thomas LOUBRIEU wrote:
Hello,
I am testing a netcdf dataset that I made available through a GDS
openDAP server but I cannot set the default value.
My variables are packed thanks to the 'add_offset' and 'scale_factor'
attributes.
I have set the 'missing_value' and '_fillValue' attributes to the
unpacked default value but ferret does not seem to understand it :
yes? use
"http://rhisib18:8080/grads-dods/coriolis/coriolis-atlantic-temperature-weekly-oa_v3_rt"
yes? list/t=10-nov-2004/z=10/x=-100 temperature
...
10.93N / 332: 52.77
10.60N / 331: 52.77
10.28N / 330: 52.77
9.95N / 329: 52.77
9.62N / 328: 52.77
9.29N / 327: 52.77
8.96N / 326: 52.77
...
where 52.77 is something like the result of '32767*0.001 + 20.0'
Why this result is not recognized as the default value ? Is it because
the unpacked value is rounded ?
I am also trying to force the default value by doing :
yes?set variable/bad=32767.0 temperature
But it doesn't work . I also try unpacked value (52.77) as default
value but it doesn't work better.
Otherwise, I have no problem while I directly access the netcdf file
with ferret.
Does anyone know what happens ?
Thomas
PS
I uses ferret v5.81 on redhat9.
My dataset is made available with gds-1.3 and grads-1.9b4
The opendap DAS output is as follow :
Attributes {
NC_GLOBAL {
String CONVENTIONS "COARDS";
String producer_agengy "IFREMER";
String project_name "CORIOLIS";
String creation_time "12-Jan-2005 20:02:03";
String software_version "OA_V3.02";
String product_version "OA3_02";
String data_set "STD3_02";
String data_manager "Emmanuelle Autret, Thomas Loubrieu";
String estimate_date "05-Jan-2000";
String south_latitude "-70";
String north_latitude "70";
String west_longitude "-100";
String east_longitude "40";
String title "CORIOLIS Analysed temperature";
String Conventions "COARDS", "GrADS";
String dataType "Grid";
String history "Tue Aug 02 11:16:50 CEST 2005 : imported by
GrADS Data Server 1.3";
}
temperature {
String long_name "Temperature";
Int16 missing_value 32767;
Int16 _FillValue 32767;
String units "degree_Celsius";
Int16 valid_min -3;
Int16 valid_max 40;
Float64 add_offset 20;
Float64 scale_factor 0.001;
String comment "Temperature estimate (by objective analysis)";
}
pct_variance {
String long_name "Estimate variance / a priori variance
(percent)";
Int16 missing_value 32767;
Int16 _FillValue 32767;
String units "percent";
Int16 valid_min 0;
Int16 valid_max 100;
Float64 scale_factor 0.01;
}
lon {
String grads_dim "x";
String grads_mapping "levels";
String grads_size "421";
String units "degrees_east";
String long_name "longitude";
Float64 minimum -100;
Float64 maximum 40;
Float32 resolution 0.33333334;
}
lat {
String grads_dim "y";
String grads_mapping "levels";
String grads_size "597";
String units "degrees_north";
String long_name "latitude";
Float64 minimum -69.9662;
Float64 maximum 69.9662;
Float32 resolution 0.2347859;
}
time {
String grads_dim "t";
String grads_mapping "linear";
String grads_size "255";
String grads_min "00z05jan2000";
String grads_step "10080mn";
String units "days since 1-1-1 00:00:0.0";
String long_name "time";
String minimum "00z05jan2000";
String maximum "00z17nov2004";
Float32 resolution 7.0;
}
lev {
String grads_dim "z";
String grads_mapping "levels";
String units "millibar";
String long_name "altitude";
Float64 minimum 5;
Float64 maximum 1950;
Float32 resolution 33.53448;
}
}
|