POLCA: le couplé Predicate








                                        Mise à jour: 4 fevrier 2002
 
 
 

Mise en place sur kami du modeles force Predicate 
ORCA 2 degres - Glace de mer de Louvain la Neuve







On part de la version officielle du modele force ORCA2_LIM disponible via modipsl sur les serveurs de l'IPSL.
On constitue les makefiles appropries a ce type de machine (liens dans modeles/OPA/WORK sur les BB_make et BB_make.ldef du repertoire modeles/ORCA2_LIM/
On y active les clefs CPP suivante:

key_orca_r2 
key_ice_lln
key_freesurf_cstvol 
key_diaeiv
key_zdftke 
key_flxqsr
key_trahdfiso 
key_trahdfcoef2d
key_trahdfeiv
key_dynhdfcoef3d
key_convevd
key_temdta 
key_saldta
key_saldta_monthly
key_monotasking
key_diagap
key_tradmp 
key_ddmixing

On modifie les chemins d'acces pour la librairie Netcdf.
Une fois obtenu l'executable, on se procure les fichiers d'entree du modele force. On cree le script de lancement pour vpp (s'il existe) et on valide le resultat d'une simulation d'un mois.
 
 

Passage Force-Couple 

Creation d'un Makefile dans modeles/ORCA_PREDICATE permettant de compiler ioipsl, oasis et orca d'un seul coup.

Modification du Makefile Oasis:
Makefile de modipsl adapte aux routines de la technique de communication SIPC et a l'ajout de nouvelles routines de la version 2.5 d'Oasis.

Modification du Makefile ORCA: 
Compilation de routines de couplage SIPC: SIPC_Attach, SIPC_Init_Model, SIPC_Read_Model et SIPC_Write_Model et definition des dependances.
Modification des clefs de compilation:

key_orca_r2 
key_ice_lln 
key_freesurf_cstvol
key_zdftke 
key_flxqsr 
key_trahdfiso 
key_trahdfcoef2d
key_trahdfeiv 
key_dynhdfcoef3d
key_convevd 
key_temdta 
key_saldta 
key_saldta_monthly 
key_diaznl 
key_diahth
key_monotasking 
key_coupled

En particulier, on a enleve la cle de surface libre key_freesurf_cstvol car elle est incompatible avec la cle key_coupled au niveau de icelln.coupled.h (bug signale au LODYC). On la remet une fois le bug corrige.
Ce choix de clefs impose d'utiliser de nouveaux fichiers d'entree. Pour key_islands, on recupere le fichier islands.nc; pour les clefs de diagnostics, bathymetry.atlantic.

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

Le listing complet des modifications pour orca et pour ucl !

Les routines modifiees d'orca et du modele de glace (sous format tar).
 

Les problemes resolus:

  • Le modele couple est arrete au 13 jour de couplage par Orca. Une salinite en mer de Ross decroit en deca de la valeur limite. Cette erreur provient du fait que la clefs CPP key_islands a ete activee (le toit rigide a ete choisi comme configuration de test). Mais la bathymetrie ayant change depuis le debut de notre implementation, elle ne correspond plus au fichier islands.nc (fonctions de courant autour des points terre). Il faut donc supprimer la clef key_islands pour que le modele puisse recalcule les fonctions de courant avec les bonnes limites de bathymetrie.
  • Dans ORCA (flx.coupled.clio.h), la repartion du flux non solaire se fait selon le calcul suivant:
    c  Flux non solaire  (descendant+montant) sur l'ocean
              sciobc (ji,jj,3) =  znsoltot (ji,jj)
         $            +        znsdqdt(ji,jj)
         $            *      (tn(ji,jj,1)+rt0-zstemp(ji,jj)
         $            * tmask(ji,jj,1) * zfacflx
    c  Flux non solaire  (descendant+montant) sur la glace
              sciobc (ji,jj,4) =  znsoltot (ji,jj)
         $            +        znsdqdt(ji,jj)
         $            *      (tn_ice(ji,jj)-zstemp(ji,jj)
         $            *      tmask(ji,jj,1) * zfacflx

    avec 

    znsoltot: flux moyen provenant d'oasis (vu par Arpege au le pas de temps de couplage precedent)
    znsdqdt: dq/dt moyen provenant d'oasis (vu par Arpege au pas de temps de couplage precedent)
    tn: temperature de l'ocean au pas de temps du modele
    zstemp: temperature moyenne (eau+glace) provenant d'oasis  et vu par Arpege au pas de temps de couplage precedent 
    tn_ice: temperature de la glace au pas de temps du modele

    zstemp est la temperature moyenne calculee par ORCA deux jour auparavant, passee a Arpege via Oasis (SOSSTSST -> SISUTESU), puis repassee a ORCA via Oasis le jour suivant (COSSTSST -> SOTSMEAN). Deux interpolations sont donc realisee avant qu'ORCA utilise ce champ moyen. Les valeurs sont donc inutilement deformees par les interpolation avant leur utilisation. 

    Si l'on garde toujours le champ  SOTSMEAN pour repartir le flux dans Oasis lors de l'operation SUBGRID, on decide de ne plus le passer a ORCA (AUXILARY au lieu de EXPORTED dans la namcouple). Dans ORCA, on conserve la valeur de la temperature moyenne d'un pas de temps de couplage a l'autre (et meme deux pas de temps de couplage plus tard) pour l'utiliser dans le calcul decrit precedemment.

    On regarde la difference (sur le champ de flux non-solaire vu par ORCA) entre la simulation faisant appel a cette technique et la simulation de depart (faisant transiter la SST par Oasis).
    On constate que la modification que nous avons apportee permet de se soustraire aux erreurs d'interpolation induites par l'utilisation du champ SOTSMEAN (pas de valeurs erronee en mer du levant, mer de Ross et pole Nord  et pas d'oscillations parasite du signal sur les oceans).
     

  • Vitesses horizontales excessives en Antarctique: pas de remise a zero du champ de calving a chaque appel du modele de glace: apport d'eau douce 50 fois trop grand sur la cote antarctique.