Ignore:
Timestamp:
05/06/19 16:53:07 (5 years ago)
Author:
dubos
Message:

devel : moved DYSL into compute_caldyn_fast.F90

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/Python/src/kernels_caldyn_hevi.jin

    r852 r858  
    127127END_BLOCK 
    128128 
    129 KERNEL(caldyn_fast) 
    130 ! 
    131   SELECT CASE(caldyn_thermo) 
    132   CASE(thermo_boussinesq) 
    133     FORALL_CELLS() 
    134       ON_PRIMAL 
    135         berni(CELL) = pk(CELL) 
    136         ! from now on pk contains the vertically-averaged geopotential 
    137         pk(CELL) = .5*(geopot(CELL)+geopot(UP(CELL))) 
    138       END_BLOCK 
    139     END_BLOCK 
    140   CASE(thermo_theta) 
    141     FORALL_CELLS() 
    142       ON_PRIMAL 
    143         berni(CELL) = .5*(geopot(CELL)+geopot(UP(CELL))) 
    144       END_BLOCK 
    145     END_BLOCK 
    146   CASE(thermo_entropy) 
    147     FORALL_CELLS() 
    148       ON_PRIMAL 
    149         berni(CELL) = .5*(geopot(CELL)+geopot(UP(CELL))) 
    150         berni(CELL) = berni(CELL) + pk(CELL)*(cpp-theta(CELL,1)) ! Gibbs = Cp.T-Ts = T(Cp-s) 
    151       END_BLOCK 
    152     END_BLOCK 
    153   CASE(thermo_variable_Cp) 
    154     ! thermodynamics with variable Cp 
    155     !           Cp(T) = Cp0 * (T/T0)^nu 
    156     ! =>            h = Cp(T).T/(nu+1) 
    157  
    158     FORALL_CELLS() 
    159       ON_PRIMAL 
    160         berni(CELL) = .5*(geopot(CELL)+geopot(UP(CELL))) 
    161         cp_ik = cpp*(pk(CELL)/Treff)**nu 
    162         berni(CELL) = berni(CELL) + pk(CELL)*(cp_ik/(nu+1.)-theta(CELL,1)) ! Gibbs = h-Ts = T(Cp/(nu+1)-s) 
    163       END_BLOCK 
    164     END_BLOCK 
    165   CASE DEFAULT 
    166     PRINT *, 'Unsupported value of caldyn_thermo : ',caldyn_thermo  ! FIXME 
    167     STOP 
    168   END SELECT 
    169 ! 
    170   FORALL_CELLS() 
    171     ON_EDGES 
    172       due = .5*(theta(CELL1,1)+theta(CELL2,1))*(pk(CELL2)-pk(CELL1)) + berni(CELL2)-berni(CELL1) 
    173       du(EDGE) = du(EDGE) - SIGN*due 
    174       u(EDGE) = u(EDGE) + tau*du(EDGE) 
    175     END_BLOCK 
    176   END_BLOCK   
    177 ! 
    178 END_BLOCK 
    179  
    180129KERNEL(coriolis) 
    181130! 
Note: See TracChangeset for help on using the changeset viewer.