POLCA: Le couplage Predicate



Mise à jour: 4 fevrier 2002
 
 
 

  Mise en place du couplage Predicate 
Arpege-Climat / ORCA 2 degres - Glace de mer de Louvain la Neuve







I. Ecriture de la namcouple (Sophie) et modification des routines de couplage ORCA

I.1Champs passés par l'océan à l'atmosphère:
 
Champs océaniques              (unités)  Champs atmosphériques    (unités)
SOSSTSST                             (K)  SISUTESU                           (K)
SOICECOV                            (% de 0 a 1) SIICECOV                            (% de 0 a 1)
SOALBEDO                          (% de 0 a 1) SIALBEDO                          (% de 0 a 1)

SOSSTSST:
Moyenne de la température de la surface de l'ocean et de celle de la glace

SOICECOV:
Fraction de glace de la maille (integree sur 1 jour)

SOALBEDO:
Moyenne de l'albedo de l'ocean et de celui de la glace
 

Routines orca concernees et modifications apportees a la version ORCA2_LIM officielle du Lodyc

=> Version recuperee le 5juin sur le serveur CVS de l'IPSL avec la cle ipsl_cm4_v0.
=> Cette version officielle a ete mise localement sous CVS (setenv CVSROOT /home/evian/ROOTCVS)  dans les modules ORCA/OPA/SRC_ORCA et ORCA/OPA/SRC_UCL.
=> Le meshmask correspondant est dans le module ORCA/OPA/ENVIRO (19/07/2001: J'ai fait un checkin d'un nouveau meshmask avec la bonne definition des points des 3 mers interieures).
=> A partir de la version officielle, on a cree une branche SV_branche, sur laquelle on a fait un checkout dans valcke/PREDICATE/ORCA/ORCA_work/ORCA/OPA/  (excusez la longueur du chemin) et surlaquelle les modifications suivantes ont ete apportees.

common.coupled.h: suppression de certaines variables globales
parameter.coupled.h: modification du parametre jpmaxfld (nombre maximum de champs echanges)
parlec.h: modification des valeurs par defaut des variables renseignees dans la namelist
stpcmo.F:
1- Neutralisation des routines PIPE et reactivation des routines SIPC
2- Suppression du champ de couplage temperature de la glace
3- Remplacement du champ temperature de l'ocean par le champ temperature moyenne ocean+glace: sstoc est la moyenne ponderee de tn et tn_ice.
4- Remplacement du champ albedo de la glace par le champ albedo moyen (ocean+glace) avec albedo de l'ocean constant et egal a 0.065: alboc est la moyenne ponderee de 0.065 et alb_ice.
 

I.2 Champs passés par l'atmosphère à l'océan (flux):
 
Champs atmosphériques         (unités) Champs océaniques                 (unités)
CONSFTOT                            (W/m2) SONSHLDO                           (W/m2)
COSHFTOT                            (W/m2) SOSHFLDO                            (W/m2)
COTHSHSU                             (mm/j) SOLATHSU                             (mm/j)
COTOLIPR                              (mm/j) SOTOLPSU                              (mm/j)
COTOSOPR                            (mm/j) SOTOSPSU                              (mm/j)
CORUNOFF                           (mm/j) SORUNOFF                            (mm/j)
COCALVIN                            (mm/j) SOCALVIN                              (mm/j)
COSSTSST                              (K) SOTSMEAN                            (K)
CODFLXDT                      (W/m2/K) SODFLXDT                       (W/m2/K)
COALBSUR                            (%) SOALBICE                              (%)

CONSFTOT/SONSHLDO (znsoltot):
Flux net moyen de chaleur non solaire absorbé par l'ocean et la glace

COSHFTOT/SOSHFLDO (zqsrtot):
Flux net moyen de chaleur solaire absorbé par l'ocean et la glace

COTHSHSU/SOLATHSU (zevap):
Evaporation moyenne sur l'eau et sur la glace (valeur positive)

COTOLIPR/SOTOLPSU (zpliq):
Précipitations liquides sur la glace et sur l'océan (valeur positive)

COTOSOPR/SOTOSPSU (zpsol):
Précipitations solides sur la glace et sur l'océan (valeur positive)

CORUNOFF/SORUNOFF (zrunoff) :
Runoff fluviaux (valeur positive)

COCALVIN/SOCALVIN (zcalv) :
Calving (valeur positive)

COSSTSST/SOTSMEAN (zstemp):
Temperature de surface vue par le modele d'atmosphere

CODFLXDT/SODFLXDT (znsdqdt):
Dérivée du flux net moyen de chaleur non solaire absorbé par rapport à la température

COALBSUR/SOALBICE (zalb):
Albedo moyen vu par le modele d'atmosphere

Routines orca concernees et modifications apportees a la version ORCA2_LIM offficielle du Lodyc

flx.coupled.clio.h:

*) Neutralisation des routines PIPE et reactivation des routines SIPC
*) Passage des flux de chaleur moyens et non pas par sous-surface (eau et glace). On redistribue ces flux, A CHAQUE PAS DE TEMPS DU MODELE D'OCEAN, de la maniere suivante:

>1) Flux_non_solaire_eau = Flux_moyen_atmosphere    x 
                                             (temperature_eau - temperature_moyenne_atmosphere)   x
                                              derivee_flux_non_solaire_atmospherique
    => sciobc (ji,jj,3)

>2) Flux_non_solaire_glace = Flux_moyen_atmosphere    x 
                                             (temperature_glace - temperature_moyenne_atmosphere)   x
                                              derivee_flux_non_solaire_atmospherique
     => sciobc (ji,jj,4)

    Note: tn_ice continent bien la temperature de la partie englacee de la maille (une seule classe de glace pour l'instant), sauf pour les mailles sans glace ou c'est alors la temperature de l'eau.

>3) Flux_solaire_glace = Flux_moyen_atmosphere    x 
                                        (1 - albedo_glace )  /   ( 1 - albedo_moyen_atmospherique )
    => sciobc (ji,jj,2)

>4) Flux_solaire_eau = Flux_moyen_atmosphere    x 
                                        (1 - albedo_eau )  /   ( 1 - albedo_moyen_atmospherique )
    => sciobc (ji,jj,1) (calcule seulement aux pas de temps de couplage car l'albedo de l'eau est constant)

*) Passage du calving (avec seuillage),  et utilisation specifique dans le modele de glace. 

>5) Le champ de Calving:

*) Precipitations neigeuses: on les garde dans un champ separe car on en aura besoin pour determiner la chaleur latente extraite des leads pour faire fondre cette neige et pour calculer le changement d'epaisseur de glace. 

>6) Precip_neigeuses = precip_neigeuses
   => sciobc(ji,jj,6) 

*) Calcul du bilan hydrique a chaque pas de temps:

>7) Bilan_hydrique = liquide + solide - evap + runoff + nouveau_calving
   => sciobc(ji,jj,5)

*) Passage d'un dQ/dT moyen au modele de glace et non pas un dQ/dT sur la glace.(Calcule seulement aux pas de temps de couplage)
   => sciobc (ji,jj,8)
  Note: Dans ocetoice.coupled.h, ciobc(:,:,8) devient fder, qui devient fderb dans thersf.Fom. Attention, les *.Com et *.Fom sont preprocesses et certaines lignes sont alors decommentees (voir prep.sed).

ice.com: declaration d'une variable globale pour le calving, ie calving(imax,jmax)
ocetoice.coupled.h: remplissage de la variable calving par le champ de couplage, ie calving ( i, j) = ciobc ( i, j,  7)
thersf.Fom: Modification du calcul du flux de chaleur latente augmente par le calving. Comme on suppose que tout le calving fond dans la partie leads de la maille, c'est le nouveau_calving (voir >5) qu'on utilise dans l'equationde la chaleur: zcalving est rajoute a zfontn (on n'ajoute pas zcalving a zhnpbq qui contient les precippitations neigeuses car zhnpbq est utilise par la suite pour calculer le changement d'epaisseur de glace).
ocetoice.F: initialisation de la variable calving a zero dans le cas force !
 

I.3 Champs passés par l'atmosphère à l'océan (tensions de vent):
 
 
Champs atmosphériques         (unités) Champs océaniques                 (unités)
COZOTAUX                            (N/m2) SOZOTAUX                             (N/m2)
COMETAUY                            (N/m2) SOMETAUY                             (N/m2)
COZOTAUV                            (N/m2) SOZOTAUV                             (N/m2)
COMETAUU                            (N/m2) SOMETAUU                             (N/m2)

COZOTAUX:
Tension de vent zonale sur la grille Arpege. L'interpolation se fait sur la grille U d'OPA.

COZOTAUV:
Tension de vent zonale sur la grille Arpege. L'interpolation se fait sur la grille V d'OPA.

COMETAUY:
Tension de vent méridienne sur la grille Arpege. L'interpolation se fait sur la grille V d'OPA.

COMETAUU:
Tension de vent méridienne sur la grille Arpege. L'interpolation se fait sur la grille U d'OPA.

Routines orca concernees et modifications apportees a la version ORCA2_LIM officielle du Lodyc

tau.coupled.clio.h
On remplace la technique de couplage 'geocentrique' (ajout d'une composante verticale du champ de vent) par l'ancienne methode de couplage avec vent zonal et meridien interpoles sur les grilles U et V du modele d'ocean.
Note 1: Eventuellement a modifier si on decide de passer 3 composantes. 
Note 2: On garde l'interpolation vers les grilles u et v dans Oasis, et l'interpolation vers la grille f pour le modele de glace dans tau.coupled.clio.h car ce sont les composantes sur les grilles u et v qui sont utilisees dans repcmo.F pour la transformation vers le repere local.
 

**************************************************************************************

II. Creation des fichiers de poids pour les interpolations MOZAIC et SUBGRID (Sophie ) 

1.1 Fichiers de poids pour les interpolations orca-> bt42 (orcabt42) et pour les flux de chaleur bt42->orca (bt42orca)

-Les fichiers de poids et d'adresses ont ete calcules sur kami grace a l'outil d'Olivier Marti (intersection des surfaces des mailles) -voir mes notes notes_mozaic.
      Serveur CVS: CVSROOT=/home/valcke/ROOTCVS
      Module: oasis/tools
      Tag: TEST_5
Les resultats des calculs faits sur kami sont sous /home/valcke/PREDICATE/MOZAIC/RESU_TEST_5.
Les fichiers de poids et d'adresses resultants (mozaic_o2a.nc et mozaic_a2o.nc) ont ete transformes pour traiter les points avec des problemes particuliers -voir mes notes notes_transfopds.
 Le programme /home/valcke/PREDICATE/MOZAIC/TRANSFO/ptmsq.f90 a genere les fichiers
a utiliser, soit orcabt42 et bt42orca /home/valcke/PREDICATE/MOZAIC/TRANSFO/bt42orca