COARE30_FLUX_CNRM Subroutine

public subroutine COARE30_FLUX_CNRM(PZ0SEA, PTA, PSST, PQA, PVMOD, PZREF, PUREF, PPS, PQSATA, PQSAT, PSFTH, PSFTQ, PUSTAR, PCD, PCDN, PCH, PCE, PRI, PRESA, PRAIN, PPA, PZ0HSEA, LPRECIP, LPWG, coeffs)

Uses

  • proc~~coare30_flux_cnrm~~UsesGraph proc~coare30_flux_cnrm COARE30_FLUX_CNRM module~yomcst_mod_h yomcst_mod_h proc~coare30_flux_cnrm->module~yomcst_mod_h module~modd_csts MODD_CSTS proc~coare30_flux_cnrm->module~modd_csts module~dimphy~3 dimphy proc~coare30_flux_cnrm->module~dimphy~3 module~indice_sol_mod indice_sol_mod proc~coare30_flux_cnrm->module~indice_sol_mod module~clesphys_mod_h~2 clesphys_mod_h proc~coare30_flux_cnrm->module~clesphys_mod_h~2 module~coare_cp_mod~2 coare_cp_mod proc~coare30_flux_cnrm->module~coare_cp_mod~2

** COARE25_FLUX

PURPOSE
-------

** METHOD ------

EXTERNAL
--------

IMPLICIT ARGUMENTS
------------------

REFERENCE
---------
  Fairall et al (2003), J. of Climate, vol. 16, 571-591
  Fairall et al (1996), JGR, 3747-3764
  Gosnell et al (1995), JGR, 437-442
  Fairall et al (1996), JGR, 1295-1308

AUTHOR
------
 C. Lebeaupin  *Météo-France* (adapted from C. Fairall's code)

MODIFICATIONS
-------------
  Original     1/06/2006
  B. Decharme    06/2009 limitation of Ri
  B. Decharme    09/2012 Bug in Ri calculation and limitation of Ri in surface_ri.F90
  B. Decharme    06/2013 bug in z0 (output) computation
  J.Escobar      06/2013  for REAL4/8 add EPSILON management
  C. Lebeaupin   03/2014 bug if PTA=PSST and PEXNA=PEXNS: set a minimum value
                         add abort if no convergence


   0.     DECLARATIONS
           ------------


  0.1    declarations of arguments

TYPE(SEAFLUX_t), INTENT(INOUT) :: S

!! secure COARE3.0 CODE

   5.2     Aerodynamical conductance and resistance




   5.3 Z0 and Z0H over sea

PZ0HSEA(:) = PZ0SEA(:)

Arguments

Type IntentOptional Attributes Name
real, intent(inout), DIMENSION(klon) :: PZ0SEA
real, intent(in), DIMENSION(klon) :: PTA
real, intent(in), DIMENSION(klon) :: PSST
real, intent(in), DIMENSION(klon) :: PQA
real, intent(in), DIMENSION(klon) :: PVMOD
real, intent(in), DIMENSION(klon) :: PZREF
real, intent(in), DIMENSION(klon) :: PUREF
real, intent(in), DIMENSION(klon) :: PPS
real, intent(in), DIMENSION(klon) :: PQSATA
real, intent(out), DIMENSION(klon) :: PQSAT
real, intent(out), DIMENSION(klon) :: PSFTH
real, intent(out), DIMENSION(klon) :: PSFTQ
real, intent(out), DIMENSION(klon) :: PUSTAR
real, intent(out), DIMENSION(klon) :: PCD
real, intent(out), DIMENSION(klon) :: PCDN
real, intent(out), DIMENSION(klon) :: PCH
real, intent(out), DIMENSION(klon) :: PCE
real, intent(out), DIMENSION(klon) :: PRI
real, intent(out), DIMENSION(klon) :: PRESA
real, intent(in), DIMENSION(klon) :: PRAIN
real, intent(in), DIMENSION(klon) :: PPA
real, intent(out), DIMENSION(klon) :: PZ0HSEA
logical, intent(in) :: LPRECIP
logical, intent(in) :: LPWG
real, intent(inout), dimension(3) :: coeffs

0.2 declarations of local variables


Calls

proc~~coare30_flux_cnrm~~CallsGraph proc~coare30_flux_cnrm COARE30_FLUX_CNRM proc~psiuo psiuo proc~coare30_flux_cnrm->proc~psiuo proc~psit_30 psit_30 proc~coare30_flux_cnrm->proc~psit_30 proc~abort_physic abort_physic proc~coare30_flux_cnrm->proc~abort_physic histclo histclo proc~abort_physic->histclo proc~mpi_abort MPI_ABORT proc~abort_physic->proc~mpi_abort restclo restclo proc~abort_physic->restclo getin_dump getin_dump proc~abort_physic->getin_dump proc~lmdz_mpi_wrapper_abort lmdz_mpi_wrapper_abort proc~mpi_abort->proc~lmdz_mpi_wrapper_abort

Called by

proc~~coare30_flux_cnrm~~CalledByGraph proc~coare30_flux_cnrm COARE30_FLUX_CNRM proc~cdrag cdrag proc~cdrag->proc~coare30_flux_cnrm proc~cdrag~2 cdrag proc~cdrag~2->proc~coare30_flux_cnrm proc~screenc screenc proc~screenc->proc~cdrag proc~surf_land_bucket_hetero~2 surf_land_bucket_hetero proc~surf_land_bucket_hetero~2->proc~cdrag proc~stdlevvarn~2 stdlevvarn proc~stdlevvarn~2->proc~cdrag proc~screencn screencn proc~stdlevvarn~2->proc~screencn proc~screencn->proc~cdrag proc~pbl_surface pbl_surface proc~pbl_surface->proc~cdrag proc~stdlevvarn stdlevvarn proc~pbl_surface->proc~stdlevvarn proc~stdlevvar stdlevvar proc~pbl_surface->proc~stdlevvar proc~surf_land surf_land proc~pbl_surface->proc~surf_land proc~surf_land_bucket_hetero surf_land_bucket_hetero proc~surf_land_bucket_hetero->proc~cdrag proc~stdlevvar~2 stdlevvar proc~stdlevvar~2->proc~cdrag proc~stdlevvar~2->proc~screenc proc~screencn~2 screencn proc~screencn~2->proc~cdrag proc~stdlevvarn->proc~cdrag proc~stdlevvarn->proc~screencn proc~pbl_surface~2 pbl_surface proc~pbl_surface~2->proc~cdrag proc~pbl_surface~2->proc~stdlevvarn proc~pbl_surface~2->proc~stdlevvar proc~pbl_surface~2->proc~surf_land proc~stdlevvar->proc~cdrag proc~stdlevvar->proc~screenc proc~screenc~2 screenc proc~screenc~2->proc~cdrag proc~physiq physiq proc~physiq->proc~pbl_surface proc~surf_land~2 surf_land proc~surf_land~2->proc~surf_land_bucket_hetero proc~surf_land->proc~surf_land_bucket_hetero proc~physiq~2 physiq proc~physiq~2->proc~pbl_surface proc~old_lmdz1d old_lmdz1d proc~old_lmdz1d->proc~physiq proc~call_physiq call_physiq proc~call_physiq->proc~physiq proc~call_physiq~2 call_physiq proc~call_physiq~2->proc~physiq proc~scm scm proc~scm->proc~physiq program~lmdz1d lmdz1d program~lmdz1d->proc~old_lmdz1d program~lmdz1d->proc~scm proc~calfis calfis proc~calfis->proc~call_physiq proc~leapfrog leapfrog proc~leapfrog->proc~calfis program~gcm~2 gcm program~gcm~2->proc~leapfrog

Contents