Changeset 39


Ignore:
Timestamp:
07/27/12 17:54:54 (12 years ago)
Author:
ymipsl
Message:

differentiate hexagone and triangle coordonate for output

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/trunk/src/write_field.f90

    r31 r39  
    11671167        status = NF90_CREATE(TRIM(ADJUSTL(name))//'.nc', NF90_CLOBBER, ncid) 
    11681168        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) 
    11711171 
    11721172        IF (Field(ind_b)%ndim==2)  THEN 
     
    11861186        status = NF90_DEF_DIM(ncid,'time_counter',NF90_UNLIMITED,timeId) 
    11871187       
    1188         status = NF90_DEF_VAR(ncid,'lon',NF90_DOUBLE,(/ ncellId /),lonId) 
     1188        status = NF90_DEF_VAR(ncid,'lon_i',NF90_DOUBLE,(/ ncellId /),lonId) 
    11891189        status = NF90_PUT_ATT(ncid,lonId,"long_name","longitude") 
    11901190        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) 
    11931193        status = NF90_PUT_ATT(ncid,latId,"long_name","latitude") 
    11941194        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) 
    11981198 
    11991199        IF (Field(ind_b)%ndim==2) THEN 
    12001200          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") 
    12021202        ELSE IF (Field(ind_b)%ndim==3) THEN 
    12031203          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") 
    12051205        ELSE IF (Field(ind_b)%ndim==4) THEN 
    12061206          DO i=1,FieldVarId(NbField)%size 
    12071207            status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name))//int2str(i),NF90_DOUBLE,(/ ncellId,dim3id,timeId /),  & 
    12081208                                  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") 
    12101210          ENDDO         
    12111211        ENDIF  
     
    12761276        status = NF90_CREATE(TRIM(ADJUSTL(name))//'.nc', NF90_CLOBBER, ncid) 
    12771277        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) 
    12801280 
    12811281        IF (Field(ind_b)%ndim==2)  THEN 
     
    12961296        status = NF90_DEF_DIM(ncid,'time_counter',NF90_UNLIMITED,timeId) 
    12971297       
    1298         status = NF90_DEF_VAR(ncid,'lon',NF90_DOUBLE,(/ ncellId /),lonId) 
     1298        status = NF90_DEF_VAR(ncid,'lon_v',NF90_DOUBLE,(/ ncellId /),lonId) 
    12991299        status = NF90_PUT_ATT(ncid,lonId,"long_name","longitude") 
    13001300        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) 
    13031303        status = NF90_PUT_ATT(ncid,latId,"long_name","latitude") 
    13041304        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) 
    13081308 
    13091309 
    13101310        IF (Field(ind_b)%ndim==2) THEN 
    13111311          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") 
    13131313        ELSE IF (Field(ind_b)%ndim==3) THEN 
    13141314          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") 
    13161316        ELSE IF (Field(ind_b)%ndim==4) THEN 
    13171317          DO q=1,FieldVarId(NbField)%size 
    13181318            status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(name)//int2str(q)),NF90_DOUBLE,             & 
    13191319                                  (/ 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") 
    13211321          ENDDO         
    13221322        ENDIF  
Note: See TracChangeset for help on using the changeset viewer.