Changes between Version 5 and Version 6 of IPSLCM6/calving


Ignore:
Timestamp:
01/09/21 16:31:19 (3 years ago)
Author:
oboucher
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • IPSLCM6/calving

    v5 v6  
    11= Conservation de l'évaporation : où est l'erreur ? =  
    22 
    3 == Exemple avec le VLR ==  
     3== Exemple avec le MR025 - script cdo ==  
     4 
     5Expérience : /ccc/cont003/home/gencmip6/oboucher/IPSLCM6.2/modipsl/config/IPSLCM6/CM61-MR025-pd-04 
     6 
     7Sorties : /ccc/scratch/cont003/gencmip6/oboucher/IGCM_OUT/IPSLCM6/TEST/pdControl/CM61-MR025-pd-04/ 
     8 
     9Détail : 1 mois de simu  
     10 
     11Script cdo : on pondère par tmaskutil et l'aire des mailles pour l'océan. On pondère par l'aire des mailles et pourc_oce+pourc_sic pour l'atmosphère.  
     12 
     13{{{  
     14 
     15exp="CM61-MR025-pd-04" 
     16yr1=1850 
     17yr2=1850 
     18dir=/ccc/scratch/cont003/gencmip6/oboucher/IGCM_OUT/IPSLCM6/TEST/pdControl/${exp} 
     19fileatm=${dir}/ATM/Output/MO/${exp}_${yr1}0101_${yr2}0131_1M_histmth.nc 
     20fileevap1=${dir}/CPL/Output/MO/${exp}_${yr1}0101_${yr2}0131_COTOTEVA.nc 
     21fileevap2=${dir}/CPL/Output/MO/${exp}_${yr1}0101_${yr2}0131_OTotEvap.nc 
     22filerain1=${dir}/CPL/Output/MO/${exp}_${yr1}0101_${yr2}0131_COTOTRAI.nc 
     23filerain2=${dir}/CPL/Output/MO/${exp}_${yr1}0101_${yr2}0131_OTotRain.nc 
     24filesnow1=${dir}/CPL/Output/MO/${exp}_${yr1}0101_${yr2}0131_COTOTSNO.nc 
     25filesnow2=${dir}/CPL/Output/MO/${exp}_${yr1}0101_${yr2}0131_OTotSnow.nc 
     26fileoce=${dir}/OCE/Output/MO/${exp}_${yr1}0101_${yr2}0131_1M_grid_T.nc 
     27maskoce=/ccc/work/cont003/igcmg/igcmg/IGCM/OCE/NEMO/eORCA025.4/GRIDS/eORCA025_mesh_mask.nc 
     28 
     29sumevap1=`cdo outputf,%12.10g,10 -divc,1.e9 -fldsum -mul -seltimestep,1/10 -selname,COTOTEVA ${fileevap1} -seltimestep,1 -expr,'toto=aire/100.*(pourc_oce+pourc_sic)' ${fileatm}` 
     30sumevap2=`cdo outputf,%12.10g,10 -divc,1.e9 -fldsum -mul -mul -seltimestep,1/10 -selname,OTotEvap ${fileevap2} -selvar,tmaskutil ${maskoce} -gridarea ${fileoce}` 
     31sumrain1=`cdo outputf,%12.10g,10 -divc,1.e9 -fldsum -mul -seltimestep,1/10 -selname,COTOTRAI ${filerain1} -seltimestep,1 -expr,'toto=aire/100.*(pourc_oce+pourc_sic)' ${fileatm}` 
     32sumrain2=`cdo outputf,%12.10g,10 -divc,1.e9 -fldsum -mul -mul -seltimestep,1/10 -selname,OTotRain ${filerain2} -selvar,tmaskutil ${maskoce} -gridarea ${fileoce}` 
     33sumsnow1=`cdo outputf,%12.10g,10 -divc,1.e9 -fldsum -mul -seltimestep,1/10 -selname,COTOTSNO ${filesnow1} -seltimestep,1 -expr,'toto=aire/100.*(pourc_oce+pourc_sic)' ${fileatm}` 
     34sumsnow2=`cdo outputf,%12.10g,10 -divc,1.e9 -fldsum -mul -mul -seltimestep,1/10 -selname,OTotSnow ${filesnow2} -selvar,tmaskutil ${maskoce} -gridarea ${fileoce}` 
     35 
     36echo 'evap in=' $sumevap1 
     37echo 'evap out=' $sumevap2 
     38echo 'rain in=' $sumrain1 
     39echo 'rain out=' $sumrain2 
     40echo 'snow in=' $sumsnow1 
     41echo 'snow out=' $sumsnow2 
     42 
     43 }}} 
     44 
     45Résultats :  
     46{{{  
     47evap in= 16.58377264 16.5842436 16.73348733 16.70182978 16.66627324 16.63719809 16.59929387 16.55878592 16.52697635 16.4860888 
     48evap out= 16.55351427 16.55350019 16.70269787 16.67088149 16.63496352 16.60587634 16.56772969 16.52697626 16.49513478 16.45415434 
     49rain in= 12.76418216 11.79569265 11.90206466 12.29730812 12.41094174 12.47357032 12.53198387 12.55976865 12.5649098 12.58444113 
     50rain out= 12.74270543 11.77684503 11.88402995 12.27952764 12.395365 12.45955016 12.51887749 12.5477753 12.55303025 12.57239723 
     51snow in= 0.6307305996 0.613739933 0.6188579544 0.6443643258 0.6604737915 0.6693078788 0.6729603416 0.6815849762 0.684608096 0.6879445765 
     52snow out= 0.6216787337 0.6042128991 0.608490469 0.6332710421 0.6475660592 0.6557678674 0.6592571085 0.6672780528 0.6703978744 0.6741682585 
     53}}} 
     54 
     55Les écarts sont très importants : 4e décimale et 0.2% pour rain et evap, 2e décimale et 2% pour snow.   
     56Bien sûr, le biais est moindre pour P+S-E car il y a compensation d'erreur.  
     57 
     58== Exemple avec le VLR - script python ==  
    459 
    560Expérience : /ccc/work/cont003/ra5424/p25khod/IPSLCM6.5_work_15DEC/modipsl/config/IPSLCM6/CM65-VLR-pd-tn-01-test