- Timestamp:
- 07/27/12 17:54:54 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/trunk/src/write_field.f90
r31 r39 1167 1167 status = NF90_CREATE(TRIM(ADJUSTL(name))//'.nc', NF90_CLOBBER, ncid) 1168 1168 FieldId(NbField)=ncid 1169 status = NF90_DEF_DIM(ncid,'cell ',ncell,ncellId)1170 status = NF90_DEF_DIM(ncid,'nvert ',nvert,nvertid)1169 status = NF90_DEF_DIM(ncid,'cell_i',ncell,ncellId) 1170 status = NF90_DEF_DIM(ncid,'nvert_i',nvert,nvertid) 1171 1171 1172 1172 IF (Field(ind_b)%ndim==2) THEN … … 1186 1186 status = NF90_DEF_DIM(ncid,'time_counter',NF90_UNLIMITED,timeId) 1187 1187 1188 status = NF90_DEF_VAR(ncid,'lon ',NF90_DOUBLE,(/ ncellId /),lonId)1188 status = NF90_DEF_VAR(ncid,'lon_i',NF90_DOUBLE,(/ ncellId /),lonId) 1189 1189 status = NF90_PUT_ATT(ncid,lonId,"long_name","longitude") 1190 1190 status = NF90_PUT_ATT(ncid,lonId,"units","degrees_east") 1191 status = NF90_PUT_ATT(ncid,lonId,"bounds","bounds_lon ")1192 status = NF90_DEF_VAR(ncid,'lat ',NF90_DOUBLE,(/ ncellId /),latId)1191 status = NF90_PUT_ATT(ncid,lonId,"bounds","bounds_lon_i") 1192 status = NF90_DEF_VAR(ncid,'lat_i',NF90_DOUBLE,(/ ncellId /),latId) 1193 1193 status = NF90_PUT_ATT(ncid,latId,"long_name","latitude") 1194 1194 status = NF90_PUT_ATT(ncid,latId,"units","degrees_north") 1195 status = NF90_PUT_ATT(ncid,latId,"bounds","bounds_lat ")1196 status = NF90_DEF_VAR(ncid,'bounds_lon ',NF90_DOUBLE,(/ nvertid,ncellId /),bounds_lonId)1197 status = NF90_DEF_VAR(ncid,'bounds_lat ',NF90_DOUBLE,(/ nvertid,ncellId /),bounds_latId)1195 status = NF90_PUT_ATT(ncid,latId,"bounds","bounds_lat_i") 1196 status = NF90_DEF_VAR(ncid,'bounds_lon_i',NF90_DOUBLE,(/ nvertid,ncellId /),bounds_lonId) 1197 status = NF90_DEF_VAR(ncid,'bounds_lat_i',NF90_DOUBLE,(/ nvertid,ncellId /),bounds_latId) 1198 1198 1199 1199 IF (Field(ind_b)%ndim==2) THEN 1200 1200 status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name)),NF90_DOUBLE,(/ ncellId,timeId /),FieldVarId(NbField)%nc_id(1)) 1201 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon lat")1201 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon_i lat_i") 1202 1202 ELSE IF (Field(ind_b)%ndim==3) THEN 1203 1203 status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name)),NF90_DOUBLE,(/ ncellId,dim3id,timeId /),FieldVarId(NbField)%nc_id(1)) 1204 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon lat")1204 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon_i lat_i") 1205 1205 ELSE IF (Field(ind_b)%ndim==4) THEN 1206 1206 DO i=1,FieldVarId(NbField)%size 1207 1207 status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name))//int2str(i),NF90_DOUBLE,(/ ncellId,dim3id,timeId /), & 1208 1208 FieldVarId(NbField)%nc_id(i)) 1209 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(i),"coordinates","lon lat")1209 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(i),"coordinates","lon_i lat_i") 1210 1210 ENDDO 1211 1211 ENDIF … … 1276 1276 status = NF90_CREATE(TRIM(ADJUSTL(name))//'.nc', NF90_CLOBBER, ncid) 1277 1277 FieldId(NbField)=ncid 1278 status = NF90_DEF_DIM(ncid,'cell ',ncell,ncellId)1279 status = NF90_DEF_DIM(ncid,'nvert ',nvert,nvertid)1278 status = NF90_DEF_DIM(ncid,'cell_v',ncell,ncellId) 1279 status = NF90_DEF_DIM(ncid,'nvert_v',nvert,nvertid) 1280 1280 1281 1281 IF (Field(ind_b)%ndim==2) THEN … … 1296 1296 status = NF90_DEF_DIM(ncid,'time_counter',NF90_UNLIMITED,timeId) 1297 1297 1298 status = NF90_DEF_VAR(ncid,'lon ',NF90_DOUBLE,(/ ncellId /),lonId)1298 status = NF90_DEF_VAR(ncid,'lon_v',NF90_DOUBLE,(/ ncellId /),lonId) 1299 1299 status = NF90_PUT_ATT(ncid,lonId,"long_name","longitude") 1300 1300 status = NF90_PUT_ATT(ncid,lonId,"units","degrees_east") 1301 status = NF90_PUT_ATT(ncid,lonId,"bounds","bounds_lon ")1302 status = NF90_DEF_VAR(ncid,'lat ',NF90_DOUBLE,(/ ncellId /),latId)1301 status = NF90_PUT_ATT(ncid,lonId,"bounds","bounds_lon_v") 1302 status = NF90_DEF_VAR(ncid,'lat_v',NF90_DOUBLE,(/ ncellId /),latId) 1303 1303 status = NF90_PUT_ATT(ncid,latId,"long_name","latitude") 1304 1304 status = NF90_PUT_ATT(ncid,latId,"units","degrees_north") 1305 status = NF90_PUT_ATT(ncid,latId,"bounds","bounds_lat ")1306 status = NF90_DEF_VAR(ncid,'bounds_lon ',NF90_DOUBLE,(/ nvertid,ncellId /),bounds_lonId)1307 status = NF90_DEF_VAR(ncid,'bounds_lat ',NF90_DOUBLE,(/ nvertid,ncellId /),bounds_latId)1305 status = NF90_PUT_ATT(ncid,latId,"bounds","bounds_lat_v") 1306 status = NF90_DEF_VAR(ncid,'bounds_lon_v',NF90_DOUBLE,(/ nvertid,ncellId /),bounds_lonId) 1307 status = NF90_DEF_VAR(ncid,'bounds_lat_v',NF90_DOUBLE,(/ nvertid,ncellId /),bounds_latId) 1308 1308 1309 1309 1310 1310 IF (Field(ind_b)%ndim==2) THEN 1311 1311 status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name)),NF90_DOUBLE,(/ ncellId,timeId /),FieldVarId(NbField)%nc_id(1)) 1312 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon lat")1312 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon_v lat_v") 1313 1313 ELSE IF (Field(ind_b)%ndim==3) THEN 1314 1314 status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name)),NF90_DOUBLE,(/ ncellId,dim3id,timeId /),FieldVarId(NbField)%nc_id(1)) 1315 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon lat")1315 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(1),"coordinates","lon_v lat_v") 1316 1316 ELSE IF (Field(ind_b)%ndim==4) THEN 1317 1317 DO q=1,FieldVarId(NbField)%size 1318 1318 status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name)//int2str(q)),NF90_DOUBLE, & 1319 1319 (/ ncellId,dim3id,timeId /),FieldVarId(NbField)%nc_id(q)) 1320 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(q),"coordinates","lon lat")1320 status = NF90_PUT_ATT(ncid,FieldVarId(NbField)%nc_id(q),"coordinates","lon_v lat_v") 1321 1321 ENDDO 1322 1322 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.