Ignore:
Timestamp:
07/09/12 15:23:38 (12 years ago)
Author:
ymipsl
Message:

Update on 3D dynamic

YM

File:
1 edited

Legend:

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

    r12 r15  
    1111  REAL(rstd),POINTER :: out_z(:,:) 
    1212  
     13  INTEGER :: itau_out 
     14   
    1315CONTAINS 
    14  
     16   
     17  SUBROUTINE init_caldyn(dt) 
     18  USE IOIPSL 
     19  IMPLICIT NONE 
     20    REAL(rstd),INTENT(IN) :: dt 
     21    REAL(rstd) :: write_period 
     22    CALL allocate_caldyn 
     23 
     24    CALL getin('write_period',write_period) 
     25     
     26    itau_out=INT(write_period/dt) 
     27   
     28  END SUBROUTINE init_caldyn 
     29  
    1530  SUBROUTINE allocate_caldyn 
    1631  USE domain_mod 
     
    7893   
    7994   
    80   SUBROUTINE caldyn(f_phis, f_ps, f_theta_rhodz, f_u, f_dps, f_dtheta_rhodz, f_du) 
     95  SUBROUTINE caldyn(it,f_phis, f_ps, f_theta_rhodz, f_u, f_dps, f_dtheta_rhodz, f_du) 
    8196  USE domain_mod 
    8297  USE dimensions 
     
    87102  USE vorticity_mod 
    88103  USE kinetic_mod 
     104  USE theta2theta_rhodz_mod 
    89105  IMPLICIT NONE 
     106  INTEGER,INTENT(IN)    :: it 
    90107  TYPE(t_field),POINTER :: f_phis(:) 
    91108  TYPE(t_field),POINTER :: f_ps(:) 
     
    104121  REAL(rstd),POINTER :: du(:,:) 
    105122  INTEGER :: ind 
    106   INTEGER,SAVE :: it=0 
     123 
    107124   
    108125    CALL transfert_request(f_phis,req_i1)  
     
    139156!    CALL kinetic(f_du,f_out) 
    140157 
    141     IF (mod(it,72)==0 ) THEN 
     158    IF (mod(it,itau_out)==0 ) THEN 
    142159      CALL writefield("ps",f_ps) 
    143       CALL writefield("dps",f_dps) 
     160!      CALL writefield("dps",f_dps) 
    144161!      CALL writefield("theta_rhodz",f_theta_rhodz) 
    145       CALL writefield("dtheta_rhodz",f_dtheta_rhodz) 
    146 !      CALL writefield("vort",f_out_z) 
    147       CALL writefield("theta",f_out) 
     162!      CALL writefield("dtheta_rhodz",f_dtheta_rhodz) 
     163      CALL vorticity(f_u,f_out_z) 
     164      CALL writefield("vort",f_out_z) 
     165!      CALL writefield("theta",f_out) 
     166      CALL theta_rhodz2temperature(f_ps,f_theta_rhodz,f_out) ; 
     167      CALL writefield("T",f_out) 
    148168     
    149169!      CALL writefield("out",f_out) 
     
    155175    ENDIF 
    156176!    CALL check_mass_conservation(f_ps,f_dps) 
    157    it=it+1       
     177 
    158178  END SUBROUTINE caldyn 
    159179   
Note: See TracChangeset for help on using the changeset viewer.