Ignore:
Timestamp:
05/25/16 09:57:29 (8 years ago)
Author:
ymipsl
Message:

Add vertical axis definition in output field (merged from heat/aquaplanet).

YM

File:
1 edited

Legend:

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

    r351 r378  
    11701170      INTEGER :: nij 
    11711171      CHARACTER(LEN=255) :: name 
    1172        
     1172      INTEGER :: l,level_size, levId, dimlevId 
    11731173             
    11741174      name=TRIM(ADJUSTL(name_in)) 
     
    12221222        status = NF90_DEF_DIM(ncid,'cell_i',ncell,ncellId) 
    12231223        status = NF90_DEF_DIM(ncid,'nvert_i',nvert,nvertid) 
    1224  
     1224        level_size=0 
    12251225        IF (Field(ind_b)%ndim==2)  THEN 
    12261226          FieldVarId(NbField)%size=1 
     
    12301230          ALLOCATE(FieldVarId(NbField)%nc_id(1)) 
    12311231          status = NF90_DEF_DIM(ncid,'lev',size(field(ind_b)%rval3d,2),dim3id) 
     1232          level_size=size(field(ind_b)%rval3d,2) 
    12321233        ELSE IF (Field(1)%ndim==4) THEN 
    12331234          FieldVarId(NbField)%size=size(field(ind_b)%rval4d,3) 
    12341235          ALLOCATE(FieldVarId(NbField)%nc_id(FieldVarId(NbField)%size)) 
    12351236          status = NF90_DEF_DIM(ncid,'lev',size(field(ind_b)%rval4d,2),dim3id) 
     1237          level_size=size(field(ind_b)%rval4d,2) 
    12361238!          status = NF90_DEF_DIM(ncid,'Q',size(field(ind_b)%rval4d,3),dim4id) 
    12371239        ENDIF 
    1238        
     1240        PRINT*,"LEVEL_SIZE=",level_size 
     1241 
    12391242        status = NF90_DEF_DIM(ncid,'time_counter',NF90_UNLIMITED,timeId) 
    1240        
     1243        IF (level_size>0) THEN 
     1244          status = NF90_DEF_VAR(ncid,'lev',NF90_DOUBLE,(/ dim3id /),levId) 
     1245          status = NF90_PUT_ATT(ncid,levId,"axis","Z") 
     1246        ENDIF 
     1247         
    12411248        status = NF90_DEF_VAR(ncid,'lon_i',NF90_DOUBLE,(/ ncellId /),lonId) 
    12421249        status = NF90_PUT_ATT(ncid,lonId,"long_name","longitude") 
     
    12791286       
    12801287        status = NF90_ENDDEF(ncid)       
     1288 
     1289        if (level_size>0) status = NF90_PUT_VAR(ncid,levId,(/ (l,l=1,level_size) /)) 
    12811290          
    12821291         ALLOCATE(lon(ncell),lat(ncell),bounds_lon(0:nvert-1,ncell),bounds_lat(0:nvert-1,ncell)) 
Note: See TracChangeset for help on using the changeset viewer.