Changeset 32


Ignore:
Timestamp:
07/27/12 16:04:22 (12 years ago)
Author:
ymipsl
Message:

externalize earth constant in run.def and add scalling factor functionnality

YM

Location:
codes/icosagcm/trunk/src
Files:
5 edited

Legend:

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

    r26 r32  
    2424    CALL allocate_caldyn 
    2525    CALL getin('write_period',write_period) 
     26    write_period=write_period/scale_factor 
    2627     
    2728    itau_out=INT(write_period/dt) 
  • codes/icosagcm/trunk/src/dissip_gcm.f90

    r29 r32  
    7979    tau_graddiv(:)=5000 
    8080    CALL getin("tau_graddiv",tau) 
    81     tau_graddiv(:)=tau 
     81    tau_graddiv(:)=tau/scale_factor 
    8282 
    8383    CALL getin("nitergdiv",nitergdiv) 
     
    8585    tau_gradrot(:)=5000 
    8686    CALL getin("tau_gradrot",tau_gradrot) 
    87     tau_gradrot(:)=tau 
     87    tau_gradrot(:)=tau/scale_factor 
    8888 
    8989    CALL getin("nitergrot",nitergrot) 
     
    9292    tau_divgrad(:)=5000 
    9393    CALL getin("tau_divgrad",tau) 
    94     tau_divgrad(:)=tau 
     94    tau_divgrad(:)=tau/scale_factor 
    9595 
    9696    CALL getin("niterdivgrad",niterdivgrad) 
  • codes/icosagcm/trunk/src/earth_const.f90

    r12 r32  
    33  USE math_const 
    44   
    5   REAL(rstd),PARAMETER :: radius=6.37122E6 
    6 !  REAL(rstd),PARAMETER :: radius=1. 
    7   REAL(rstd),PARAMETER :: g=9.80616 
     5  REAL(rstd),SAVE :: radius=6.37122E6 
     6  REAL(rstd),SAVE :: g=9.80616 
    87  REAL(rstd),PARAMETER :: daysec=86400 
    9 !  REAL(rstd),PARAMETER :: omega=2*Pi/daysec 
    10   REAL(rstd),PARAMETER :: omega=7.292E-5 
    11 !  REAL(rstd),PARAMETER :: omega=0 
    12   REAL(rstd),PARAMETER :: kappa=0.2857143 
    13   REAL(rstd),PARAMETER :: cpp=1004.70885 
    14   REAL(rstd),PARAMETER :: preff=101325. 
    15   REAL(rstd),PARAMETER :: pa=50000.   
     8  REAL(rstd),SAVE :: omega=7.292E-5 
     9  REAL(rstd),SAVE :: kappa=0.2857143 
     10  REAL(rstd),SAVE :: cpp=1004.70885 
     11  REAL(rstd),SAVE :: preff=101325. 
     12  REAL(rstd),SAVE :: pa=50000. 
     13  REAL(rstd),SAVE :: scale_factor=1. 
    1614 
     15CONTAINS 
     16   
     17  SUBROUTINE init_earth_const 
     18  USE ioipsl 
     19  IMPLICIT NONE 
     20  REAL(rstd) :: X=1 
     21   
     22    CALL getin("radius",radius) 
     23    CALL getin("g",g) 
     24    CALL getin("X",scale_factor) 
     25    CALL getin("omega",omega)   
     26    CALL getin("kappa",kappa)   
     27    CALL getin("cpp",cpp)   
     28    CALL getin("preff",preff)   
     29     
     30    radius=radius/scale_factor 
     31    omega=omega/scale_factor 
     32    PRINT *,"radius = ",radius 
     33     
     34  END SUBROUTINE init_earth_const 
     35   
     36   
    1737END MODULE earth_const 
    1838   
  • codes/icosagcm/trunk/src/icosa_gcm.f90

    r26 r32  
    1818  
    1919  CALL init_mpipara 
    20    
     20  CALL init_earth_const  
    2121  CALL init_grid_param 
    2222  CALL compute_metric 
  • codes/icosagcm/trunk/src/timeloop_gcm.f90

    r25 r32  
    4444  dt=90. 
    4545  CALL getin('dt',dt) 
    46  
     46  dt=dt/scale_factor 
     47   
    4748  itaumax=100 
    4849  CALL getin('itaumax',itaumax) 
     
    5051  write_period=0 
    5152  CALL getin('write_period',write_period) 
     53  write_period=write_period/scale_factor 
     54   
    5255  itau_out=INT(write_period/dt) 
    5356   
     
    9396   
    9497  CALL etat0(f_ps,f_phis,f_theta_rhodz,f_u, f_q) 
     98   
     99  CALL writefield('ps',f_ps) 
     100  CALL writefield('theta_rhodz',f_theta_rhodz) 
    95101   
    96102  DO it=0,itaumax 
Note: See TracChangeset for help on using the changeset viewer.