Hi Chan Joo, Yes, I see that, but I think it's an error in the data. If we look at the original data before redefining the axes, yes? USE/ORDER=ZT argo2900623_prof.nc yes? shade pres It looks to me as though the data is saved with gaps at the wrong level for L=17. It seems to me there should be missing data for levels 1 through 27 or so, then the data that's in the file, and then more missing data. I think the same thing has happened with temperature as well. (imagine sliding the data at L=17 L up and it would fit the pattern seen everywhere else). yes? list/k=1 pres, temp DATA SET: ./argo2900623_prof.nc T: 0.5 to 35.5 Z: 1 Column 1: PRES is SEA PRESSURE (decibar) Column 2: TEMP is SEA TEMPERATURE IN SITU ITS-90 SCALE (degree_Celsius) PRES TEMP ... 13 / 13: 4.8 31.57 14 / 14: 4.6 32.10 15 / 15: 4.4 31.98 16 / 16: 4.6 32.25 17 / 17: 192.5 21.48 18 / 18: 4.9 31.09 19 / 19: 4.8 31.80 We could exclude the data for L=17, below is your script, showing how to do that. I've marked my changes with ! ** . It might be worth asking the data providers what they think about what is in the file. By the way, if you are working with data from different sets of profiles or different experiments, and you want to compare them, you might want to define a consistent output Z axis for all data. You can define any Z axis and use it as the third argument to the ZAXREPLACE function. This axis can have any number of coordinate values. This might look like this, for example. define axis/z/depth/units=decibars pzaxis = {1, 10, 20, 30, 50, 75, 100, 150, 200, 300, 400, 600, 1000, 1200, 1500} let/units="`temperature,r=units`"/title="`temperature,r=title`" \ temp_on_pres=zaxreplace(temperature,z[gz=zpres],z[gz=zpres]) Here is the script, with my changes which define new varables, replacing the data at L=17 with the missing-value flag. cancel data/all use/order=ZT 2900623_prof.nc !Define a time axis based on JULD def axis/t/t0="1-jan-1950:00:00"/units=days tday=juld ! let zz=z[gz=temp] def axis/z/units=levels/depth zlev=zz ! ! ** Define pres_fix, excluding data at L=17. ! ** Use pres_fix in the next command defining pressure= pres_fix[... ! let/bad=`pres,r=bad`/units="`pres,r=units`"/title="`pres,r=title`" \ pres_fix = if l eq 17 then `pres,r=bad` else pres let/units="`pres_fix,r=units`"/title="`pres_fix,r=title`" \ pressure=pres_fix[gz=zlev@asn,gt=tday@asn] ! ! ** Define temp_fix, excluding data at L=17. ! ** Use temp_fix in the next command defining temperature= temp_fix[... ! let/bad=`temp,r=bad`/units="`temp,r=units`"/title="`temp,r=title`" \ temp_fix = if l eq 17 then `temp,r=bad` else temp let/units="`temp_fix,r=units`"/title="`temp_fix,r=title`" \ temperature=temp_fix[gz=zlev@asn,gt=tday@asn] ! set vi ul shade/vlim=1:48:-5 pres ! ** set vi ll shade pressure !Define an output Z axis with units of pressure, based on the data at the first time step. def axis/z/units=decibars/depth zpres=pressure[l=1] ! !Call zaxreplace to put the temperature data on this new pressure axis let/units="`temperature,r=units`"/title="`temperature,r=title`" \ temp_on_pres=zaxreplace(temperature,z[gz=zpres],z[gz=zpres]) ! set vi ur sha temp_on_pres Chan Joo Jang wrote:
|