Ignore:
Timestamp:
10/22/14 10:21:38 (10 years ago)
Author:
ymipsl
Message:

Add vertical axis value to the restart file in order to be able to visualize the data file with VTK_mapper.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/branches/SATURN_DYNAMICO/ICOSAGCM/src/restart.f90

    r262 r290  
    2121  USE spherical_geom_mod 
    2222  USE transfert_mod 
     23  USE disvert_mod 
    2324  
    2425  IMPLICIT NONE  
     
    3839  CHARACTER(LEN=255) :: restart_file_name 
    3940  INTEGER,PARAMETER  :: nvert=6 
    40   INTEGER    ::  ncid, cellId, levId, edgeId,  vertid, lonId, latId, bounds_lonId, bounds_latId, nqId 
     41  INTEGER    ::  ncid, cellId, levId, edgeId,  vertid, lonId, latId, bounds_lonId, bounds_latId, nqId, levAxisId 
    4142  INTEGER    :: ind,ind_glo,i,j,k,nf 
    4243  INTEGER    :: status 
     
    9192      status = NF90_DEF_VAR(ncid,'bounds_lon',NF90_DOUBLE,(/ vertId,cellId /),bounds_lonId) 
    9293      status = NF90_DEF_VAR(ncid,'bounds_lat',NF90_DOUBLE,(/ vertId,cellId /),bounds_latId) 
     94      status = NF90_DEF_VAR(ncid,'lev',NF90_DOUBLE,(/ levId /),levAxisId) 
     95      status = NF90_PUT_ATT(ncid,levAxisId,"axis","Z") 
     96      status = NF90_PUT_ATT(ncid,levAxisId,"units","Pa") 
     97      status = NF90_PUT_ATT(ncid,levAxisId,"positive","down") 
    9398       
    9499      DO nf=1,nfield 
     
    97102          IF (field(1)%ndim==2) THEN 
    98103            status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(field(1)%name)),NF90_DOUBLE,(/ cellId /),fieldId(nf)) 
     104            status = NF90_PUT_ATT(ncid,FieldId(nf),"coordinates","lon lat") 
    99105          ELSE IF (field(1)%ndim==3) THEN 
    100106            status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(field(1)%name)),NF90_DOUBLE,(/ cellId, levId /),fieldId(nf)) 
     107            status = NF90_PUT_ATT(ncid,FieldId(nf),"coordinates","lev lon lat") 
    101108          ELSE IF (field(1)%ndim==4) THEN 
    102109            status = NF90_DEF_VAR(ncid,TRIM(ADJUSTL(field(1)%name)),NF90_DOUBLE,(/ cellId, levId,nqId /),fieldId(nf)) 
     110            status = NF90_PUT_ATT(ncid,FieldId(nf),"coordinates","nq lev lon lat") 
    103111          ENDIF 
    104           status = NF90_PUT_ATT(ncid,FieldId(nf),"coordinates","lon lat") 
    105112        ELSE IF (field(1)%field_type==field_U) THEN 
    106113          IF (field(1)%ndim==2) THEN 
     
    139146      status=NF90_PUT_VAR(ncid,bounds_lonId,REAL(bounds_lon,r8),start=(/ 1,1 /),count=(/ nvert,ncell_glo /)) 
    140147      status=NF90_PUT_VAR(ncid,bounds_latId,REAL(bounds_lat,r8),start=(/ 1,1 /),count=(/ nvert,ncell_glo /)) 
     148      status=NF90_PUT_VAR(ncid,levAxisId,REAL(presnivs,r8),start=(/ 1 /),count=(/ llm /)) 
    141149    ENDIF 
    142150 
Note: See TracChangeset for help on using the changeset viewer.