La dynamique communique à la physique toutes les informations de contrôle par un appel à un sous-programme de la physique. L'information communiquée est identifiée par une chaîne de caractères. Chaque appel initialise la clef de contrôle correspondant à l'item identifié par la chaîne de caractères dans un ou des commons appartenant à la programmathèque de la physique.
Il y a 4 séquences d'appel, selon le type de la clef :
où
NOM est le nom de la clef (voir tableau plus bas); VAL_type est la (les) valeur(s) de la clef; NV est la dimension de VAL_type (le nombre de valeurs à initialiser); MODE est le mode d'opération : `GET' pour initialiser la clef; `SET' pour connaître la valeur de la clef. Exemple : Initialiser la clef `FLUVERT' avec la valeur `CLEF' : CALL PHYOPTC(`FLUVERT','CLEF',1,'SET')
CLEF DESCRIPTION VALEURS POSSIBLES 'CONVEC' schéma de convection utilisé 'FCP': Fritsch-Chappell 'KFC': Kain-Kritsch 'MANABE': ajustement convectif de Manabe 'NEWKUO': Kuo (nouveau) 'NIL': aucun 'OLDKUO': Kuo (ancien) 'SEC': schéma de convection sèche de Manabe 'FLUVERT' processus de surface, couche 'PHYSIMP': paramétrages très limite et diffusion verticale simplifiés 'CLEF': paramétrages sophis- tiqués 'NIL': pas de diffusion verticale 'RADIA' schéma de radiation utilisé 'NEWRAD': schéma de radiation sophistiqué. Implique la lecture par PHYDEBU des tableaux de radiation. 'OLDRAD': schéma de radiation simplifié 'NIL': aucun schéma de radiation 'STCOND' schéma de condensation utilisé 'CONDS': schéma simplifié 'EXMO': schéma explicite 'NEWSUND':Sundqvist (nouveau) 'NIL': aucun 'OLDSUND': Sundqvist (ancien) 'CLIMAT' interrupteur du mode climatique .true., .false. 'DATE' variable contenant le <<date entier de 14 éléments time stamp>> du CMC contenant la date du cas étudié (voir le module DATMGP de RMNLIB) 'DEBUT' pas de temps du début de la nombre entier tranche d'exécution (pour le mode climatique seulement) 'DELT' pas de temps d'intégration nombre entier de secondes CLEF DESCRIPTION VALEURS POSSIBLES 'KNTRAD' nombre de pas de temps entre nombre entier de pas de temps les applications successives du schéma de radiation 'CHAUF' réchauffement par les océans .true., .false. (pour l'option 'PHYSIMP') 'DBGMEM' interrupteur de contrôle du .true., .false. mode diagnostique du progiciel de gestion de l'espace volatile de la couche limite 'DMOM' diffusion verticale du .true., .false. momen-tum (pour l'option 'PHYSIMP') 'DRAG' frottement à la surface .true., .false. (pour l'option 'PHYSIMP') 'EVAP' évaporation au-dessus des .true., .false. océans (pour les options 'PHYSIMP' et 'CLEF') 'GWDRAG' interrupteur pour <<gravity .true., .false. wave drag>> 'INILWC' interrupteur pour .true., .false. l'initialisation du contenu en eau liquide en début d'intégration (options 'OLDSUND' et 'NEWSUND') 'SATUCO' phase pour la saturation .true.: phase liquide/glace pour la saturation .false.: phase liquide pour la saturation 'WET' interrupteur pour physique .true.,.false. mouillée ou sèche 'EPONGE' Vecteur contenant le facteur réel (nombre de niveaux) d'amplification de la matrice = 0.0 -> pas d'amplification de diffusion pour simuler une > 0.0 -> amplification couche éponge. (voir documentation de la physique RPN) 'FACTDT' facteur multiplicatif du pas de réel temps = 1 -> modèle à 2 pas de temps = 2 -> modèle à 3 pas de temps 'FACDIFV' facteur d'allongement du pas de réel temps pour la diffusion = 1 -> pas d'allongement verticale > 1 -> allongement
CLEF DESCRIPTION VALEURS POSSIBLES 'HC' seuil d'humidité relative pour réel (0. à 1.) le déclenchement de l'ajustement mouillé (schéma 'MANABE') 'HF' seuil d'humidité relative pour réel (0. à 1.) le transport vertical d'humidité durant l'ajustement convectif (schéma 'MANABE') 'HM' une entrée dans le calcul de réel (0. à 1.) l'humidité relative saturante à la première itération (schéma 'MANABE')
Une série d'appels au module d'initialisation PHYOPT définit la configuration de la physique désirée. Par la suite, le sous-programme PHYDEBU - notez l'absence d'arguments à l'appel - s'assure de la cohérence des options choisies et initialise certains champs avant l'exécution de la physique proprement dite. Voici un exemple d'initia-lisation:
CALL PHYOPTC (`FLUVERT', 'CLEF', 1, 'SET') CALL PHYOPTC (`RADIA', 'RADMULT', 1, 'SET') CALL PHYOPTC ('CONVEC', 'OLDKUO', 1, 'SET') CALL PHYOPTL ('GWDRAG', .TRUE., 1, 'SET') . . . . CALL PHYDEBU( )
La physique traite un plan vertical (une rangée du modèle) à la fois. Les rangées sur lesquelles on veut exécuter la physique sont normalement distribuées aux CPU disponibles. Toutes les variables qui sont définies sur une rangée (qu'elles aient un seul ou NK niveaux) sont accumulées en 2 blocs distincts qui sont passés comme arguments de l'interface physique. La navigation à l'intérieur d'un bloc pour récupérer une des variables se fait en se positionnant dans le bloc à l'aide d'indices calculés à l'avance.
On exécute la physique de RPN à l'aide de l'interface suivante dont les arguments sont décrits ci-après:
CALL PHYEXEC (BLOC1, BLOC2, NDIM, N, NK, JROW, KOUNT, DT)
Voir en annexe pour une description détaillée du contenu de BLOC1 et de BLOC2.
BLOC1:
Le premier argument est une pile contenant un ensemble de variables physiques dont les valeurs obtenues au précédent pas de temps doivent être réutilisées par la physique pour son schéma temporel. Leur volume combiné est tel qu'il est difficile de le garder en mémoire et on doit faire de l'entrée/sortie sur ces champs. Cette pile contient également les champs géophysiques tranchés.
BLOC2:
Le deuxième argument est une pile contenant une tranche des variables dynamiques au temps *, au temps -, de quelques autres variables dynamiques utilisées par la physique et les tendances générées par les différents processus physiques pour application sur les variables dynamiques.
NDIM:
Nombre de points dans une rangée.
N:
Nombre de points à traiter à l'intérieur d'une rangée.
NK:
Nombre de niveaux.
JROW:
Indice de la rangée en cours de traitement.
KOUNT:
Numéro du pas de temps en cours de traitement.
DT:
Longueur du pas de temps.
z0 | roughness length ts | surface temperature hs | fractional potential evaporation | (humidity at the ground) tmp | compound field of sea surface temperature over the sea | and deep soil temperature over land mg | land (1) or sea (0) mask (including ice) lht | launching height al | surface albedo dlat | geographical latitudes of the model grid points dlon | geographical longitudes of the model grid points vp | permanent variables of the physics
uu | the x component of wind at time t* vv | the y component of wind at time t* tt | the temperature at time t* hu | the specific humidity at time t* qc | the mixing ratio of cloud water/ice at time t* ps | surface pressure at time t* e | turbulent kinetic energy at t* uum | the x component of wind at time t- vvm | the y component of wind at time t- ttm | the temperature at time t- hum | the specific humidity at time t- qcm | the mixing ratio of cloud water/ice at time t- psm | surface pressure at time t- em | turbulent kinetic energy at t- omg | vertical motion ttr | the temperature tendency from radiation tugd | the x component of the wind tendency from gravity wave drag tvgw | the y component of the wind tendency from gravity wave drag ttc | the temperature tendency from convection thc | the specific humidity tendency from convection tqcc | the mixing ratio of cloud water/ice tendency from convection ttvd | the temperature tendency form vertical diffusion thvd | the specific humidity tendency from vertical diffusion tuvd | the x component of the wind tendency from vertical diffusion tvvd | the y component of the wind tendency from vertical diffusion tevvd | the turbulent kinetic energy tendency