Ignore:
Timestamp:
Nov 19, 2024, 5:54:18 PM (2 days ago)
Author:
jbclement
Message:

PEM:
Removing unused or redundant Norbert Schorghofer's subroutines (follow-up of r3493) + cleaning and some modifications of related subroutines.
JBC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/evolution/NS_fast_modules.F90

    r3493 r3526  
    1 
    21module allinterfaces
    32  ! interfaces from Fortran 90 subroutines and functions
     
    8685       real(8), intent(OUT) :: ypp(nz), zdepthG
    8786       integer, intent(INOUT) :: typeG
    88        real(8), external :: zint, deriv1_onesided, colint
     87       real(8), external :: zint
    8988     end subroutine depths_avmeth
    9089  end interface
     
    9695       real(8) constriction
    9796     end function constriction
    98   end interface
    99  
    100   interface
    101      subroutine assignthermalproperties(nz,thIn,rhoc,ti,rhocv, &
    102           &                      typeT,icefrac,porosity,porefill)
    103        implicit none
    104        integer, intent(IN) :: nz
    105        integer, intent(IN), optional :: typeT
    106        real(8), intent(IN), optional :: icefrac
    107        real(8), intent(IN) :: thIn, rhoc
    108        real(8), intent(IN), optional :: porosity, porefill(nz)
    109        real(8), intent(OUT) :: ti(nz), rhocv(nz)
    110      end subroutine assignthermalproperties
    111   end interface
    112 
    113   interface
    114      pure subroutine icechanges_poreonly(nz,z,typeF,typeG,avdrhoP,ypp,B,porefill)
    115        implicit none
    116        integer, intent(IN) :: nz, typeF, typeG
    117        real(8), intent(IN) :: z(nz), ypp(nz), avdrhoP, B
    118        real(8), intent(INOUT) :: porefill(nz)
    119      end subroutine icechanges_poreonly
    12097  end interface
    12198
     
    131108  end interface
    132109
    133   interface
    134      subroutine compactoutput(unit,porefill,nz)
    135        implicit none
    136        integer, intent(IN) :: unit,nz
    137        real(8), intent(IN) :: porefill(nz)
    138      end subroutine compactoutput
    139   end interface
    140 
    141110  !end of fast_subs_univ
    142   !begin derivs.f90
    143 
    144   interface
    145      subroutine deriv1(z,nz,y,y0,yNp1,yp)
    146        implicit none
    147        integer, intent(IN) :: nz
    148        real(8), intent(IN) :: z(nz),y(nz),y0,yNp1
    149        real(8), intent(OUT) :: yp(nz)
    150      end subroutine deriv1
    151   end interface
    152 
    153   interface
    154      subroutine deriv2_full(z,nz,a,b,a0,b0,bNp1,yp2)
    155        implicit none
    156        integer, intent(IN) :: nz
    157        real(8), intent(IN) :: z(nz),a(nz),b(nz),a0,b0,bNp1
    158        real(8), intent(OUT) :: yp2(nz)
    159      end subroutine deriv2_full
    160   end interface
    161 
    162   interface
    163      subroutine deriv2_simple(z,nz,y,y0,yNp1,yp2)
    164        implicit none
    165        integer, intent(IN) :: nz
    166        real(8), intent(IN) :: z(nz),y(nz),y0,yNp1
    167        real(8), intent(OUT) :: yp2(nz)
    168      end subroutine deriv2_simple
    169   end interface
    170   interface
    171      real(8) pure function deriv1_onesided(j,z,nz,y)
    172        implicit none
    173        integer, intent(IN) :: nz,j
    174        real(8), intent(IN) :: z(nz),y(nz)
    175      end function deriv1_onesided
    176   end interface
    177 
    178   !end of derivs.f90
    179   !begin fast_subs_exper.f90
    180 
    181   interface
    182      subroutine icelayer_exper(bigstep, nz, thIn, rhoc, z, porosity, pfrost, &
    183           & zdepthT, icefrac, zdepthF, zdepthE, porefill, Tmean, Tampl, Diff, zdepthG)
    184        use miscparameters, only : d2r, NMAX, icedensity
    185        implicit none
    186        integer, intent(IN) :: nz
    187        real(8), intent(IN) :: bigstep
    188        real(8), intent(IN) :: thIn, rhoc, z(NMAX), porosity, pfrost
    189        real(8), intent(INOUT) :: zdepthT, zdepthF, porefill(nz)
    190        real(8), intent(OUT) :: zdepthE
    191        real(8), intent(IN) :: icefrac, Diff, Tmean, Tampl
    192        real(8), intent(OUT) :: zdepthG
    193      end subroutine icelayer_exper
    194   end interface
    195 
    196   interface
    197      subroutine ajsub_exper(typeT, nz, z, ti, rhocv, pfrost, Tmean, Tampl, &
    198           &     avdrho, avdrhoP, zdepthE, typeF, zdepthF, ypp, porefill, &
    199           &     B, typeG, zdepthG)
    200        use miscparameters, only : NMAX, solsperyear, marsDay
    201        implicit none
    202        integer, intent(IN) :: nz, typeT
    203        real(8), intent(IN) :: z(NMAX), ti(NMAX), rhocv(NMAX), pfrost
    204        real(8), intent(IN) :: Tmean, Tampl
    205        real(8), intent(OUT) :: avdrho, avdrhoP
    206        real(8), intent(OUT) :: zdepthE
    207        integer, intent(OUT) :: typeF
    208        real(8), intent(INOUT) :: zdepthF
    209        real(8), intent(OUT) :: ypp(nz)
    210        real(8), intent(IN) :: porefill(nz)
    211        real(8), intent(IN) :: B
    212        integer, intent(OUT) :: typeG
    213        real(8), intent(OUT) :: zdepthG
    214        real(8), external :: Tsurface, psv
    215        real(8), external :: equildepth
    216      end subroutine ajsub_exper
    217   end interface
    218  
    219   !end fast_subs_exper
    220 
    221111  ! Other
    222   interface
    223      pure function flux_mars77(R,decl,HA,albedo,fracir,fracscat)
    224        implicit none
    225        real*8 flux_mars77
    226        real*8, intent(IN) :: R,decl,HA,albedo,fracIR,fracScat
    227      end function flux_mars77
    228   end interface
    229 
    230   interface
    231      pure function colint(y,z,nz,i1,i2)
    232        implicit none
    233        integer, intent(IN) :: nz, i1, i2
    234        real(8), intent(IN) :: y(nz),z(nz)
    235        real(8) colint
    236      end function colint
    237   end interface
    238 
    239112  interface
    240113   subroutine dyn_ss_ice_m(ssi_depth_in,T1,T_in,nsoil,thIn,p0,pfrost,porefill_in,porefill,ssi_depth)
     
    250123  end interface
    251124
    252     interface
    253       subroutine dyn_ss_ice_m_wrapper(ngrid,nsoil,tHIn,p0,pfrost,T_in,ssi_depth_in,porefill_in,porefill,ssi_depth)
    254            implicit none
    255            integer, intent(IN) :: nsoil,ngrid
    256            real(8),  intent(IN) :: thIn(ngrid),ssi_depth_in(ngrid)
    257            real(8),  intent(IN) :: p0(ngrid), pfrost(ngrid)
    258            real(8),  intent(IN) :: T_in(nsoil,ngrid)
    259            real(8), intent(OUT) :: porefill(nsoil,ngrid)
    260            real(8), intent(IN) :: porefill_in(nsoil,ngrid)
    261            real(8), intent(OUT) :: ssi_depth(ngrid)
    262    end subroutine dyn_ss_ice_m_wrapper
    263   end interface
    264 
    265125end module allinterfaces
Note: See TracChangeset for help on using the changeset viewer.