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 |