Ignore:
Timestamp:
05/18/20 21:07:49 (4 years ago)
Author:
dubos
Message:

devel : towards conformity to F2008 standard

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/src/diagnostics/compute_pression.F90

    r956 r1027  
    109109  END SUBROUTINE hydrostatic_pressure 
    110110 
     111!-------------- Wrappers for F2008 conformity ----------------- 
     112 
     113  SUBROUTINE compute_pression_hex(ps,p,offset) 
     114    REAL(rstd),INTENT(IN) :: ps(:) 
     115    REAL(rstd),INTENT(OUT) :: p(:,:) 
     116    INTEGER,INTENT(IN) :: offset 
     117    CALL compute_pression_hex_(ps,p,offset) 
     118  END SUBROUTINE compute_pression_hex 
     119 
     120  SUBROUTINE compute_pression_unst(ps,p,offset) 
     121    REAL(rstd),INTENT(IN) :: ps(:) 
     122    REAL(rstd),INTENT(OUT) :: p(:,:) 
     123    INTEGER,INTENT(IN) :: offset 
     124    CALL compute_pression_unst_(ps,p,offset) 
     125  END SUBROUTINE compute_pression_unst 
     126 
     127  SUBROUTINE compute_pression_mid_hex(ps,p,offset) 
     128    REAL(rstd),INTENT(IN) :: ps(:) 
     129    REAL(rstd),INTENT(OUT) :: p(:,:) 
     130    INTEGER,INTENT(IN) :: offset 
     131    CALL compute_pression_mid_hex_(ps,p,offset) 
     132  END SUBROUTINE compute_pression_mid_hex 
     133 
     134  SUBROUTINE compute_pression_mid_unst(ps,p,offset) 
     135    REAL(rstd),INTENT(IN) :: ps(:) 
     136    REAL(rstd),INTENT(OUT) :: p(:,:) 
     137    INTEGER,INTENT(IN) :: offset 
     138    CALL compute_pression_mid_unst_(ps,p,offset) 
     139  END SUBROUTINE compute_pression_mid_unst 
     140 
     141  SUBROUTINE compute_hydrostatic_pressure_hex(rhodz, theta_rhodz, ps, p) 
     142    REAL(rstd),INTENT(IN)  :: rhodz(:,:), theta_rhodz(:,:,:) 
     143    REAL(rstd),INTENT(OUT) :: ps(:), p(:,:) 
     144    CALL compute_hydrostatic_pressure_hex_(rhodz, theta_rhodz, ps, p) 
     145  END SUBROUTINE compute_hydrostatic_pressure_hex 
     146 
     147  SUBROUTINE compute_hydrostatic_pressure_unst(rhodz, theta_rhodz, ps, p) 
     148    REAL(rstd),INTENT(IN)  :: rhodz(:,:), theta_rhodz(:,:,:) 
     149    REAL(rstd),INTENT(OUT) :: ps(:), p(:,:) 
     150    CALL compute_hydrostatic_pressure_unst_(rhodz, theta_rhodz, ps, p) 
     151  END SUBROUTINE compute_hydrostatic_pressure_unst 
     152   
    111153!------------- hexagonal-mesh compute kernels -------- 
    112154 
     
    114156#define BP(ij,l) bp(l) 
    115157 
    116   SUBROUTINE compute_pression_hex(ps,p,offset) 
     158  SUBROUTINE compute_pression_hex_(ps,p,offset) 
    117159    REAL(rstd),INTENT(IN) :: ps(iim*jjm) 
    118160    REAL(rstd),INTENT(OUT) :: p(iim*jjm,llm+1) 
     
    120162    INTEGER :: ij,l 
    121163#include "../kernels_hex/compute_pression.k90" 
    122   END SUBROUTINE compute_pression_hex 
    123    
    124   SUBROUTINE compute_pression_mid_hex(ps,pmid,offset) 
     164  END SUBROUTINE compute_pression_hex_ 
     165   
     166  SUBROUTINE compute_pression_mid_hex_(ps,pmid,offset) 
    125167    REAL(rstd),INTENT(IN) :: ps(iim*jjm) 
    126168    REAL(rstd),INTENT(OUT) :: pmid(iim*jjm,llm) 
     
    128170    INTEGER :: ij,l 
    129171#include "../kernels_hex/compute_pmid.k90" 
    130   END SUBROUTINE compute_pression_mid_hex 
     172  END SUBROUTINE compute_pression_mid_hex_ 
    131173 
    132174#undef AP 
    133175#undef BP 
    134176 
    135   SUBROUTINE compute_hydrostatic_pressure_hex(rhodz, theta_rhodz, ps, pk) 
     177  SUBROUTINE compute_hydrostatic_pressure_hex_(rhodz, theta_rhodz, ps, pk) 
    136178    REAL(rstd),INTENT(IN)  :: rhodz(iim*jjm,llm) ! mass per unit surface in each model level 
    137179    REAL(rstd),INTENT(IN)  :: theta_rhodz(iim*jjm,llm, nqdyn) ! dynamical tracers (theta/entropy) 
     
    143185#include "../kernels_hex/compute_hydrostatic_pressure.k90" 
    144186    !$OMP BARRIER 
    145   END SUBROUTINE compute_hydrostatic_pressure_hex 
     187  END SUBROUTINE compute_hydrostatic_pressure_hex_ 
    146188 
    147189!----------- unstructured-mesh compute kernels -------- 
     
    150192#define BP(l,ij) bp(l) 
    151193   
    152   SUBROUTINE compute_pression_unst(ps, p, offset) 
     194  SUBROUTINE compute_pression_unst_(ps, p, offset) 
    153195    FIELD_PS,     INTENT(IN)  :: ps 
    154196    FIELD_GEOPOT, INTENT(OUT) :: p 
     
    156198    DECLARE_INDICES 
    157199#include "../kernels_unst/compute_pression.k90" 
    158   END SUBROUTINE compute_pression_unst 
    159  
    160   SUBROUTINE compute_pression_mid_unst(ps, pmid, offset) 
     200  END SUBROUTINE compute_pression_unst_ 
     201 
     202  SUBROUTINE compute_pression_mid_unst_(ps, pmid, offset) 
    161203    FIELD_PS,   INTENT(IN)  :: ps 
    162204    FIELD_MASS, INTENT(OUT) :: pmid 
     
    164206    DECLARE_INDICES 
    165207#include "../kernels_unst/compute_pmid.k90" 
    166   END SUBROUTINE compute_pression_mid_unst 
     208  END SUBROUTINE compute_pression_mid_unst_ 
    167209 
    168210#undef AP 
    169211#undef BP 
    170212 
    171   SUBROUTINE compute_hydrostatic_pressure_unst(rhodz, theta_rhodz, ps, pk) 
     213  SUBROUTINE compute_hydrostatic_pressure_unst_(rhodz, theta_rhodz, ps, pk) 
    172214    FIELD_MASS,  INTENT(IN)  :: rhodz 
    173215    FIELD_THETA, INTENT(IN)  :: theta_rhodz 
     
    176218    DECLARE_INDICES 
    177219#include "../kernels_unst/compute_hydrostatic_pressure.k90" 
    178   END SUBROUTINE compute_hydrostatic_pressure_unst 
     220  END SUBROUTINE compute_hydrostatic_pressure_unst_ 
    179221   
    180222 
Note: See TracChangeset for help on using the changeset viewer.