Ignore:
Timestamp:
01/17/17 16:27:34 (7 years ago)
Author:
dubos
Message:

Cleanup after fixing RK2.5

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

Legend:

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

    r519 r521  
    6060          !DIR$ SIMD 
    6161          DO ij=ij_begin_ext,ij_end_ext 
    62              IF(DEC) THEN  ! ps is actually Ms 
    63                 m = mass_dak(l)+(ps(ij)*g+ptop)*mass_dbk(l) 
    64              ELSE 
    65                 m = mass_dak(l)+ps(ij)*mass_dbk(l) 
    66              END IF 
     62             m = mass_dak(l)+(ps(ij)*g+ptop)*mass_dbk(l) ! ps is actually Ms 
    6763             rhodz(ij,l) = m/g 
    6864             theta(ij,l) = theta_rhodz(ij,l)/rhodz(ij,l) 
     
    8581       !DIR$ SIMD 
    8682       DO ij=ij_begin_ext,ij_end_ext 
    87           IF(DEC) THEN 
    88              etav= 1./Av(ij+z_up)*(  ne_rup  * u(ij+u_rup,l)         & 
    89                                    + ne_left * u(ij+t_rup+u_left,l)  & 
    90                                    - ne_lup  * u(ij+u_lup,l) )                                
    91  
    92              hv =   Riv2(ij,vup)          * rhodz(ij,l)           & 
    93                   + Riv2(ij+t_rup,vldown) * rhodz(ij+t_rup,l)     & 
    94                   + Riv2(ij+t_lup,vrdown) * rhodz(ij+t_lup,l) 
    95              qv(ij+z_up,l) = ( etav+fv(ij+z_up) )/hv 
    96  
    97              etav = 1./Av(ij+z_down)*(  ne_ldown * u(ij+u_ldown,l)          & 
    98                                       + ne_right * u(ij+t_ldown+u_right,l)  & 
    99                                       - ne_rdown * u(ij+u_rdown,l) ) 
    100              hv =   Riv2(ij,vdown)        * rhodz(ij,l)          & 
    101                   + Riv2(ij+t_ldown,vrup) * rhodz(ij+t_ldown,l)  & 
    102                   + Riv2(ij+t_rdown,vlup) * rhodz(ij+t_rdown,l) 
    103              qv(ij+z_down,l) =( etav+fv(ij+z_down) )/hv 
    104           ELSE 
    105              etav= 1./Av(ij+z_up)*(  ne_rup  * u(ij+u_rup,l)        * de(ij+u_rup)         & 
    106                                    + ne_left * u(ij+t_rup+u_left,l) * de(ij+t_rup+u_left)  & 
    107                                    - ne_lup  * u(ij+u_lup,l)        * de(ij+u_lup) )                                
    108  
    109              hv =   Riv2(ij,vup)          * rhodz(ij,l)           & 
    110                   + Riv2(ij+t_rup,vldown) * rhodz(ij+t_rup,l)     & 
    111                   + Riv2(ij+t_lup,vrdown) * rhodz(ij+t_lup,l) 
    112              qv(ij+z_up,l) = ( etav+fv(ij+z_up) )/hv 
    113  
    114              etav = 1./Av(ij+z_down)*(  ne_ldown * u(ij+u_ldown,l)          * de(ij+u_ldown)          & 
    115                                       + ne_right * u(ij+t_ldown+u_right,l)  * de(ij+t_ldown+u_right)  & 
    116                                       - ne_rdown * u(ij+u_rdown,l)          * de(ij+u_rdown) ) 
    117              hv =   Riv2(ij,vdown)        * rhodz(ij,l)          & 
    118                   + Riv2(ij+t_ldown,vrup) * rhodz(ij+t_ldown,l)  & 
    119                   + Riv2(ij+t_rdown,vlup) * rhodz(ij+t_rdown,l) 
    120              qv(ij+z_down,l) =( etav+fv(ij+z_down) )/hv 
    121           END IF 
     83          etav= 1./Av(ij+z_up)*(  ne_rup  * u(ij+u_rup,l)    & 
     84               + ne_left * u(ij+t_rup+u_left,l)              & 
     85               - ne_lup  * u(ij+u_lup,l) )                                
     86          hv =   Riv2(ij,vup)          * rhodz(ij,l)         & 
     87               + Riv2(ij+t_rup,vldown) * rhodz(ij+t_rup,l)   & 
     88               + Riv2(ij+t_lup,vrdown) * rhodz(ij+t_lup,l) 
     89          qv(ij+z_up,l) = ( etav+fv(ij+z_up) )/hv 
     90           
     91          etav = 1./Av(ij+z_down)*(  ne_ldown * u(ij+u_ldown,l)  & 
     92               + ne_right * u(ij+t_ldown+u_right,l)              & 
     93               - ne_rdown * u(ij+u_rdown,l) ) 
     94          hv =   Riv2(ij,vdown)        * rhodz(ij,l)          & 
     95               + Riv2(ij+t_ldown,vrup) * rhodz(ij+t_ldown,l)  & 
     96               + Riv2(ij+t_rdown,vlup) * rhodz(ij+t_rdown,l) 
     97          qv(ij+z_down,l) =( etav+fv(ij+z_down) )/hv 
    12298       ENDDO 
    12399 
  • codes/icosagcm/trunk/src/caldyn_kernels_base.f90

    r479 r521  
    77  IMPLICIT NONE 
    88  PRIVATE 
    9  
    10   LOGICAL, PARAMETER, PUBLIC :: DEC = .TRUE. 
    119 
    1210  INTEGER, PARAMETER,PUBLIC :: energy=1, enstrophy=2 
     
    219217       DO ij=ij_begin,ij_end          
    220218          ! dps/dt = -int(div flux)dz 
    221           IF(DEC) THEN 
    222              dps(ij) = convm(ij,1) 
    223           ELSE 
    224              dps(ij) = convm(ij,1) * g  
    225           END IF 
     219          dps(ij) = convm(ij,1) 
    226220       ENDDO 
    227221    ENDIF 
  • codes/icosagcm/trunk/src/caldyn_kernels_hevi.f90

    r519 r521  
    3232          !DIR$ SIMD 
    3333          DO ij=ij_begin_ext,ij_end_ext 
    34              IF(DEC) THEN  ! ps is actually Ms 
    35                 m = mass_dak(l)+(ps(ij)*g+ptop)*mass_dbk(l) 
    36              ELSE 
    37                 m = mass_dak(l)+ps(ij)*mass_dbk(l) 
    38              END IF 
     34             m = mass_dak(l)+(ps(ij)*g+ptop)*mass_dbk(l) ! ps is actually Ms 
    3935             rhodz(ij,l) = m/g 
    4036          END DO 
     
    6965       !DIR$ SIMD 
    7066       DO ij=ij_begin_ext,ij_end_ext 
    71           IF(DEC) THEN 
    72              etav= 1./Av(ij+z_up)*(  ne_rup  * u(ij+u_rup,l)         & 
    73                                    + ne_left * u(ij+t_rup+u_left,l)  & 
    74                                    - ne_lup  * u(ij+u_lup,l) )                                
    75  
    76              hv =   Riv2(ij,vup)          * rhodz(ij,l)           & 
    77                   + Riv2(ij+t_rup,vldown) * rhodz(ij+t_rup,l)     & 
    78                   + Riv2(ij+t_lup,vrdown) * rhodz(ij+t_lup,l) 
    79              qv(ij+z_up,l) = ( etav+fv(ij+z_up) )/hv 
    80  
    81              etav = 1./Av(ij+z_down)*(  ne_ldown * u(ij+u_ldown,l)          & 
    82                                       + ne_right * u(ij+t_ldown+u_right,l)  & 
    83                                       - ne_rdown * u(ij+u_rdown,l) ) 
    84              hv =   Riv2(ij,vdown)        * rhodz(ij,l)          & 
    85                   + Riv2(ij+t_ldown,vrup) * rhodz(ij+t_ldown,l)  & 
    86                   + Riv2(ij+t_rdown,vlup) * rhodz(ij+t_rdown,l) 
    87              qv(ij+z_down,l) =( etav+fv(ij+z_down) )/hv 
    88           ELSE 
    89              etav= 1./Av(ij+z_up)*(  ne_rup  * u(ij+u_rup,l)        * de(ij+u_rup)         & 
    90                                    + ne_left * u(ij+t_rup+u_left,l) * de(ij+t_rup+u_left)  & 
    91                                    - ne_lup  * u(ij+u_lup,l)        * de(ij+u_lup) )                                
    92  
    93              hv =   Riv2(ij,vup)          * rhodz(ij,l)           & 
    94                   + Riv2(ij+t_rup,vldown) * rhodz(ij+t_rup,l)     & 
    95                   + Riv2(ij+t_lup,vrdown) * rhodz(ij+t_lup,l) 
    96              qv(ij+z_up,l) = ( etav+fv(ij+z_up) )/hv 
    97  
    98              etav = 1./Av(ij+z_down)*(  ne_ldown * u(ij+u_ldown,l)          * de(ij+u_ldown)          & 
    99                                       + ne_right * u(ij+t_ldown+u_right,l)  * de(ij+t_ldown+u_right)  & 
    100                                       - ne_rdown * u(ij+u_rdown,l)          * de(ij+u_rdown) ) 
    101              hv =   Riv2(ij,vdown)        * rhodz(ij,l)          & 
    102                   + Riv2(ij+t_ldown,vrup) * rhodz(ij+t_ldown,l)  & 
    103                   + Riv2(ij+t_rdown,vlup) * rhodz(ij+t_rdown,l) 
    104              qv(ij+z_down,l) =( etav+fv(ij+z_down) )/hv 
    105           END IF 
     67          etav= 1./Av(ij+z_up)*(  ne_rup  * u(ij+u_rup,l)   & 
     68                  + ne_left * u(ij+t_rup+u_left,l)          & 
     69                  - ne_lup  * u(ij+u_lup,l) )                                
     70          hv =   Riv2(ij,vup)          * rhodz(ij,l)        & 
     71               + Riv2(ij+t_rup,vldown) * rhodz(ij+t_rup,l)  & 
     72               + Riv2(ij+t_lup,vrdown) * rhodz(ij+t_lup,l) 
     73          qv(ij+z_up,l) = ( etav+fv(ij+z_up) )/hv 
     74           
     75          etav = 1./Av(ij+z_down)*(  ne_ldown * u(ij+u_ldown,l)   & 
     76               + ne_right * u(ij+t_ldown+u_right,l)               & 
     77               - ne_rdown * u(ij+u_rdown,l) ) 
     78          hv =   Riv2(ij,vdown)        * rhodz(ij,l)              & 
     79               + Riv2(ij+t_ldown,vrup) * rhodz(ij+t_ldown,l)      & 
     80               + Riv2(ij+t_rdown,vlup) * rhodz(ij+t_rdown,l) 
     81          qv(ij+z_down,l) =( etav+fv(ij+z_down) )/hv 
    10682       ENDDO 
    10783 
  • codes/icosagcm/trunk/src/hevi_scheme.f90

    r480 r521  
    44  USE field_mod 
    55  USE euler_scheme_mod 
    6   USE caldyn_kernels_base_mod, ONLY : DEC 
    76  IMPLICIT NONE 
    87  PRIVATE 
     
    6059    REAL(rstd),POINTER :: hflux(:,:),wflux(:,:),hfluxt(:,:),wfluxt(:,:) 
    6160 
    62     IF(DEC) CALL legacy_to_DEC(f_ps, f_u) 
     61    CALL legacy_to_DEC(f_ps, f_u) 
    6362    DO j=1,nb_stage 
    6463       CALL caldyn_hevi((j==1) .AND. (MOD(it,itau_out)==0), taujj(j), & 
     
    9796       END DO 
    9897    END DO 
    99     IF(DEC) CALL DEC_to_legacy(f_ps, f_u) 
     98    CALL DEC_to_legacy(f_ps, f_u) 
    10099  END SUBROUTINE HEVI_scheme 
    101100   
Note: See TracChangeset for help on using the changeset viewer.