- Timestamp:
- Jan 22, 2020, 9:46:46 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
dynamico_lmdz/simple_physics/phyparam/physics/phyparam_mod.F90
r4229 r4236 34 34 & pplev,pplay,pphi, & 35 35 & pu,pv,pt, & 36 & pdu,pdv,pdt,pdpsrf) 36 & pdu,pdv,pdt,pdpsrf) BIND(C, name='phyparam_phyparam') 37 37 USE phys_const, ONLY : g, rcp, r, unjours 38 38 USE surface, ONLY : soil … … 45 45 ! 20 parameters GCM for planetary atmospheres. 46 46 ! It includes: 47 ! radi tive transfer (long and shortwave) for CO2 and dust.47 ! radiative transfer (long and shortwave) for CO2 and dust. 48 48 ! vertical turbulent mixing 49 49 ! convective adjsutment 50 ! heat diffusion in the soil 50 51 ! 51 52 ! author: Frederic Hourdin 15 / 10 /93 52 53 !======================================================================= 53 54 54 INTEGER, INTENT(IN) ::&55 INTEGER, INTENT(IN), VALUE :: & 55 56 ngrid, & ! Size of the horizontal grid. 56 57 nlayer ! Number of vertical layers. 57 LOGICAL, INTENT(IN) ::&58 LOGICAL, INTENT(IN), VALUE :: & 58 59 firstcall, & ! True at the first call 59 60 lastcall ! True at the last call 60 REAL, INTENT(IN) :: &61 REAL, INTENT(IN), VALUE :: & 61 62 rjourvrai, & ! Number of days counted from the North. Spring equinox 62 63 gmtime, & ! time of the day in seconds 63 ptimestep, & ! timestep (s) 64 ptimestep ! timestep (s) 65 REAL, INTENT(IN) :: & 64 66 pplev(ngrid,nlayer+1), & ! Pressure at interfaces between layers (pa) 65 67 pplay(ngrid,nlayer), & ! Pressure at the middle of the layers (Pa) … … 431 433 END SUBROUTINE radiative_tendencies 432 434 433 SUBROUTINE alloc(ngrid, nlayer) 435 SUBROUTINE alloc(ngrid, nlayer) BIND(C, name='phyparam_alloc') 436 !$cython header void phyparam_alloc(int, int); 437 !$cython wrapper def alloc(ngrid, nlayer) : phy.phyparam_alloc(ngrid, nlayer) 434 438 USE astronomy, ONLY : iniorbit 435 439 USE surface, ONLY : zc,zd 436 INTEGER, INTENT(IN) :: ngrid, nlayer440 INTEGER, INTENT(IN), VALUE :: ngrid, nlayer 437 441 LOGICAL, PARAMETER :: firstcall=.TRUE. 438 442 ! allocate arrays for internal state … … 448 452 END SUBROUTINE alloc 449 453 450 SUBROUTINE precompute 454 SUBROUTINE precompute() BIND(C, name='phyparam_precompute') 455 !$cython header void phyparam_precompute(); 456 !$cython wrapper def precompute() : phy.phyparam_precompute() 451 457 USE surface 452 458 ! precompute time-independent arrays … … 458 464 END SUBROUTINE precompute 459 465 460 SUBROUTINE coldstart(ngrid, ptimestep) 466 SUBROUTINE coldstart(ngrid, ptimestep) BIND(C, name='phyparam_coldstart') 467 !$cython header void phyparam_coldstart(int, double); 468 !$cython wrapper def coldstart (ngrid, timestep): phy.phyparam_coldstart(ngrid, timestep) 461 469 ! create internal state to start a run without a restart file 462 470 USE surface, ONLY : soil 463 INTEGER, INTENT(IN) :: ngrid464 REAL, INTENT( iN):: ptimestep471 INTEGER, INTENT(IN), VALUE :: ngrid 472 REAL, INTENT(IN), VALUE :: ptimestep 465 473 tsurf(:) = tsoil_init 466 474 tsoil(:,:) = tsoil_init
Note: See TracChangeset
for help on using the changeset viewer.