- Timestamp:
- 10/10/07 14:29:38 (17 years ago)
- Location:
- trunk/SRC/Grid
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/Grid/micromeshmask.pro
r297 r302 102 102 ENDELSE 103 103 ; get the variables list related to the partial steps 104 varlist_ps= ncdf_listvars(cdfid)105 varlist_ps = strtrim(strlowcase(varlist_ps), 2)104 zgr_varlist = ncdf_listvars(cdfid) 105 zgr_varlist = strtrim(strlowcase(zgr_varlist), 2) 106 106 ;------------------------------------------------------ 107 107 ;------------------------------------------------------ … … 135 135 varid[16+z] = ncdf_vardef(cdfidout, zgrlist[z], [dimidz], /float) 136 136 ; variables related to the partial steps 137 IF (where( varlist_psEQ 'hdept'))[0] NE -1 THEN $137 IF (where(zgr_varlist EQ 'hdept'))[0] NE -1 THEN $ 138 138 varid = [varid, ncdf_vardef(cdfidout, 'hdept', [dimidx, dimidy], /float)] 139 IF (where( varlist_psEQ 'hdepw'))[0] NE -1 THEN $139 IF (where(zgr_varlist EQ 'hdepw'))[0] NE -1 THEN $ 140 140 varid = [varid, ncdf_vardef(cdfidout, 'hdepw', [dimidx, dimidy], /float)] 141 141 ; old variable name. keep for compatibility with old run. Change e3tp to e3t_ps 142 IF (where( varlist_psEQ 'e3tp'))[0] NE -1 THEN $142 IF (where(zgr_varlist EQ 'e3tp'))[0] NE -1 THEN $ 143 143 varid = [varid, ncdf_vardef(cdfidout, 'e3t_ps', [dimidx, dimidy], /float)] 144 144 ; old variable name. keep for compatibility with old run. Change e3wp to e3w_ps 145 IF (where( varlist_psEQ 'e3wp'))[0] NE -1 THEN $145 IF (where(zgr_varlist EQ 'e3wp'))[0] NE -1 THEN $ 146 146 varid = [varid, ncdf_vardef(cdfidout, 'e3w_ps', [dimidx, dimidy], /float)] 147 147 ; 148 IF (where( varlist_psEQ 'e3t_ps'))[0] NE -1 THEN $148 IF (where(zgr_varlist EQ 'e3t_ps'))[0] NE -1 THEN $ 149 149 varid = [varid, ncdf_vardef(cdfidout, 'e3t_ps', [dimidx, dimidy], /float)] 150 IF (where( varlist_psEQ 'e3w_ps'))[0] NE -1 THEN $150 IF (where(zgr_varlist EQ 'e3w_ps'))[0] NE -1 THEN $ 151 151 varid = [varid, ncdf_vardef(cdfidout, 'e3w_ps', [dimidx, dimidy], /float)] 152 ; IF (where( varlist_psEQ 'e3u_ps'))[0] NE -1 THEN $152 ; IF (where(zgr_varlist EQ 'e3u_ps'))[0] NE -1 THEN $ 153 153 ; varid = [varid, ncdf_vardef(cdfidout, 'e3u_ps', [dimidx, dimidy], /float)] 154 ; IF (where( varlist_psEQ 'e3v_ps'))[0] NE -1 THEN $154 ; IF (where(zgr_varlist EQ 'e3v_ps'))[0] NE -1 THEN $ 155 155 ; varid = [varid, ncdf_vardef(cdfidout, 'e3v_ps', [dimidx, dimidy], /float)] 156 IF (where(zgr_varlist EQ 'mbathy'))[0] NE -1 THEN $ 157 varid = [varid, ncdf_vardef(cdfidout, 'mbathy', [dimidx, dimidy], /short)] 156 158 ; mask variable 157 159 msklist = ['tmask', 'umask', 'vmask', 'fmask'] … … 185 187 ENDIF 186 188 ; 189 inzgrlist = zgrlist 190 IF (where(varlist EQ 'gdept_0'))[0] NE -1 THEN inzgrlist = inzgrlist+'_0' 187 191 FOR z = 0, n_elements(zgrlist)-1 DO $ 188 ncdf_transfer, cdfid, cdfidout, zgrlist[z]192 ncdf_transfer, cdfid, cdfidout, inzgrlist[z], zgrlist[z] 189 193 ; partial step variables 190 IF (where( varlist_psEQ 'hdept'))[0] NE -1 THEN $194 IF (where(zgr_varlist EQ 'hdept'))[0] NE -1 THEN $ 191 195 ncdf_transfer, cdfid, cdfidout, 'hdept' 192 IF (where( varlist_psEQ 'hdepw'))[0] NE -1 THEN $196 IF (where(zgr_varlist EQ 'hdepw'))[0] NE -1 THEN $ 193 197 ncdf_transfer, cdfid, cdfidout, 'hdepw' 194 IF (where( varlist_psEQ 'e3tp'))[0] NE -1 THEN $198 IF (where(zgr_varlist EQ 'e3tp'))[0] NE -1 THEN $ 195 199 ncdf_transfer, cdfid, cdfidout, 'e3tp', 'e3t_ps' 196 IF (where( varlist_psEQ 'e3wp'))[0] NE -1 THEN $200 IF (where(zgr_varlist EQ 'e3wp'))[0] NE -1 THEN $ 197 201 ncdf_transfer, cdfid, cdfidout, 'e3wp', 'e3w_ps' 198 IF (where( varlist_psEQ 'e3t_ps'))[0] NE -1 THEN $202 IF (where(zgr_varlist EQ 'e3t_ps'))[0] NE -1 THEN $ 199 203 ncdf_transfer, cdfid, cdfidout, 'e3t_ps' 200 IF (where( varlist_psEQ 'e3w_ps'))[0] NE -1 THEN $204 IF (where(zgr_varlist EQ 'e3w_ps'))[0] NE -1 THEN $ 201 205 ncdf_transfer, cdfid, cdfidout, 'e3w_ps' 202 ; IF (where( varlist_psEQ 'e3u_ps'))[0] NE -1 THEN $206 ; IF (where(zgr_varlist EQ 'e3u_ps'))[0] NE -1 THEN $ 203 207 ; ncdf_transfer, cdfid, cdfidout, 'e3u_ps' 204 ; IF (where( varlist_psEQ 'e3v_ps'))[0] NE -1 THEN $208 ; IF (where(zgr_varlist EQ 'e3v_ps'))[0] NE -1 THEN $ 205 209 ; ncdf_transfer, cdfid, cdfidout, 'e3v_ps' 210 IF (where(zgr_varlist EQ 'mbathy'))[0] NE -1 THEN $ 211 ncdf_transfer, cdfid, cdfidout, 'mbathy' 206 212 ; 207 213 ; mask -
trunk/SRC/Grid/ncdf_meshread.pro
r273 r302 12 12 ; @param filename {in}{optional}{default='meshmask.nc'}{type=scalar string} 13 13 ; Name of the meshmask file to read. If this name does not contain any "/" 14 ; and if iodirectory keyword is not specif y, then the common variable14 ; and if iodirectory keyword is not specified, then the common variable 15 15 ; iodir will be used to define the mesh file path. 16 16 ; … … 479 479 ; 1d arrays 480 480 ;------------------------------------------------------- 481 IF (where(allvarname EQ 'e3t_O'))[0] NE -1 THEN fnamevar = ['e3t_O', 'e3w_O', 'gdept_O', 'gdepw_O'] $ 482 ELSE fnamevar = ['e3t', 'e3w', 'gdept', 'gdepw'] 481 483 namevar = ['e3t', 'e3w', 'gdept', 'gdepw'] 482 484 for i = 0, n_elements(namevar)-1 do begin … … 484 486 CASE n_elements(varinq.dim) OF 485 487 4:BEGIN 486 command = 'ncdf_varget,cdfid, namevar[i],'+namevar[i] $488 command = 'ncdf_varget,cdfid,fnamevar[i],'+namevar[i] $ 487 489 +',offset = [0,0,izminmesh,0], count = [1,1,jpk,1]' 488 490 if key_stride[2] NE 1 then command = command+', stride=[1,1,key_stride[2],1]' 489 491 END 490 492 2:BEGIN 491 command = 'ncdf_varget,cdfid, namevar[i],'+namevar[i] $493 command = 'ncdf_varget,cdfid,fnamevar[i],'+namevar[i] $ 492 494 +',offset = [izminmesh,0], count = [jpk,1]' 493 495 if key_stride[2] NE 1 then command = command+', stride=key_stride[2]' 494 496 END 495 497 1:BEGIN 496 command = 'ncdf_varget,cdfid, namevar[i],'+namevar[i] $498 command = 'ncdf_varget,cdfid,fnamevar[i],'+namevar[i] $ 497 499 +',offset = [izminmesh], count = [jpk]' 498 500 if key_stride[2] NE 1 then command = command+', stride=key_stride[2]' -
trunk/SRC/Grid/smallmeshmask.pro
r240 r302 107 107 ENDELSE 108 108 ; get the variables list related to the partial steps 109 varlist_ps= ncdf_listvars(cdfid)110 varlist_ps = strtrim(strlowcase(varlist_ps), 2)109 zgr_varlist = ncdf_listvars(cdfid) 110 zgr_varlist = strtrim(strlowcase(zgr_varlist), 2) 111 111 ;------------------------------------------------------ 112 112 ;------------------------------------------------------ … … 140 140 varid[16+z] = ncdf_vardef(cdfidout, zgrlist[z], [dimidz], /float) 141 141 ; variables related to the partial steps 142 IF (where( varlist_psEQ 'hdept'))[0] NE -1 THEN $142 IF (where(zgr_varlist EQ 'hdept'))[0] NE -1 THEN $ 143 143 varid = [varid, ncdf_vardef(cdfidout, 'hdept', [dimidx, dimidy], /float)] 144 IF (where( varlist_psEQ 'hdepw'))[0] NE -1 THEN $144 IF (where(zgr_varlist EQ 'hdepw'))[0] NE -1 THEN $ 145 145 varid = [varid, ncdf_vardef(cdfidout, 'hdepw', [dimidx, dimidy], /float)] 146 146 ; old variable name. keep for compatibility with old run. Change e3tp to e3t_ps 147 IF (where( varlist_psEQ 'e3tp'))[0] NE -1 THEN $147 IF (where(zgr_varlist EQ 'e3tp'))[0] NE -1 THEN $ 148 148 varid = [varid, ncdf_vardef(cdfidout, 'e3t_ps', [dimidx, dimidy], /float)] 149 149 ; old variable name. keep for compatibility with old run. Change e3wp to e3w_ps 150 IF (where( varlist_psEQ 'e3wp'))[0] NE -1 THEN $150 IF (where(zgr_varlist EQ 'e3wp'))[0] NE -1 THEN $ 151 151 varid = [varid, ncdf_vardef(cdfidout, 'e3w_ps', [dimidx, dimidy], /float)] 152 152 ; 153 IF (where( varlist_psEQ 'e3t_ps'))[0] NE -1 THEN $153 IF (where(zgr_varlist EQ 'e3t_ps'))[0] NE -1 THEN $ 154 154 varid = [varid, ncdf_vardef(cdfidout, 'e3t_ps', [dimidx, dimidy], /float)] 155 IF (where( varlist_psEQ 'e3w_ps'))[0] NE -1 THEN $155 IF (where(zgr_varlist EQ 'e3w_ps'))[0] NE -1 THEN $ 156 156 varid = [varid, ncdf_vardef(cdfidout, 'e3w_ps', [dimidx, dimidy], /float)] 157 ; IF (where( varlist_psEQ 'e3u_ps'))[0] NE -1 THEN $157 ; IF (where(zgr_varlist EQ 'e3u_ps'))[0] NE -1 THEN $ 158 158 ; varid = [varid, ncdf_vardef(cdfidout, 'e3u_ps', [dimidx, dimidy], /float)] 159 ; IF (where( varlist_psEQ 'e3v_ps'))[0] NE -1 THEN $159 ; IF (where(zgr_varlist EQ 'e3v_ps'))[0] NE -1 THEN $ 160 160 ; varid = [varid, ncdf_vardef(cdfidout, 'e3v_ps', [dimidx, dimidy], /float)] 161 IF (where(zgr_varlist EQ 'mbathy'))[0] NE -1 THEN $ 162 varid = [varid, ncdf_vardef(cdfidout, 'mbathy', [dimidx, dimidy], /short)] 161 163 ; mask variable 162 164 msklist = ['tmask', 'umask', 'vmask', 'fmask'] … … 186 188 ENDIF 187 189 ; 190 inzgrlist = zgrlist 191 IF (where(zgr_varlist EQ 'gdept_0'))[0] NE -1 THEN inzgrlist = inzgrlist+'_0' 188 192 FOR z = 0, n_elements(zgrlist)-1 DO $ 189 ncdf_transfer, cdfid, cdfidout, zgrlist[z]193 ncdf_transfer, cdfid, cdfidout, inzgrlist[z], zgrlist[z] 190 194 ; partial step variables 191 IF (where( varlist_psEQ 'hdept'))[0] NE -1 THEN $195 IF (where(zgr_varlist EQ 'hdept'))[0] NE -1 THEN $ 192 196 ncdf_transfer, cdfid, cdfidout, 'hdept' 193 IF (where( varlist_psEQ 'hdepw'))[0] NE -1 THEN $197 IF (where(zgr_varlist EQ 'hdepw'))[0] NE -1 THEN $ 194 198 ncdf_transfer, cdfid, cdfidout, 'hdepw' 195 IF (where( varlist_psEQ 'e3tp'))[0] NE -1 THEN $199 IF (where(zgr_varlist EQ 'e3tp'))[0] NE -1 THEN $ 196 200 ncdf_transfer, cdfid, cdfidout, 'e3tp', 'e3t_ps' 197 IF (where( varlist_psEQ 'e3wp'))[0] NE -1 THEN $201 IF (where(zgr_varlist EQ 'e3wp'))[0] NE -1 THEN $ 198 202 ncdf_transfer, cdfid, cdfidout, 'e3wp', 'e3w_ps' 199 IF (where( varlist_psEQ 'e3t_ps'))[0] NE -1 THEN $203 IF (where(zgr_varlist EQ 'e3t_ps'))[0] NE -1 THEN $ 200 204 ncdf_transfer, cdfid, cdfidout, 'e3t_ps' 201 IF (where( varlist_psEQ 'e3w_ps'))[0] NE -1 THEN $205 IF (where(zgr_varlist EQ 'e3w_ps'))[0] NE -1 THEN $ 202 206 ncdf_transfer, cdfid, cdfidout, 'e3w_ps' 203 ; IF (where( varlist_psEQ 'e3u_ps'))[0] NE -1 THEN $207 ; IF (where(zgr_varlist EQ 'e3u_ps'))[0] NE -1 THEN $ 204 208 ; ncdf_transfer, cdfid, cdfidout, 'e3u_ps' 205 ; IF (where( varlist_psEQ 'e3v_ps'))[0] NE -1 THEN $209 ; IF (where(zgr_varlist EQ 'e3v_ps'))[0] NE -1 THEN $ 206 210 ; ncdf_transfer, cdfid, cdfidout, 'e3v_ps' 211 IF (where(zgr_varlist EQ 'mbathy'))[0] NE -1 THEN $ 212 ncdf_transfer, cdfid, cdfidout, 'mbathy' 207 213 ; 208 214 ; mask
Note: See TracChangeset
for help on using the changeset viewer.