source: BOL/Multi_atlas/atlas/season.py @ 4312

Last change on this file since 4312 was 3684, checked in by idelkadi, 5 years ago

Repository under svn of a first version of Multiatlas diagnostics for LMDZ. This version is adapted to be able to run a LMDZ multiatlas on an individual account on the ciclad machine of the IPSL. In this version, the parts to be modified are identified so as to subsequently adapt it to other machines.
This version is still under development.

File size: 3.0 KB
RevLine 
[3684]1# -*- coding: iso-8859-1 -*-
2# Created : S.Sénési - nov 2015
3
4
5desc="\nMoyenne par saison et projection des donnees mono-variables issues des donnees SE\n"+\
6"    avec ecriture sur fichier \n"+\
7"  Exemple : python season.py -s NPv3.1ada_1982_1991 --seasons DJF -g VLR "
8
9Nota=""" Avec CliMAF, cette etape est loin d'etre necessaire; on la realise
10 pour 'exposer' ces fichiers dans une arborescence a laquelle sont
11 habitues certains utilisateurs On ne se repose pas sur l'existence de
12 fichiers dit 'cmorises', : on accède directement aux donnees SE via
13 le 'projet' CliMAF adhoc (cf infra) """
14
15dir_default='/data/hourdin/LMDZ6/'
16
17# Répertoire de base pour les entrées et les résultats
18seasons_default='JJA,YEAR,DJF'
19
20# Gestion des options et arguments d'appel
21from optparse import OptionParser
22parser = OptionParser(desc) ; parser.set_usage("%%prog [-h]\n%s" % desc)
23parser.add_option("-i", "--input", help="repertoire des donnes SE d'origine (optionnel)", action="store")
24parser.add_option("-o", "--output", 
25                  help="repertoire de sortie (un sous rep <GRID>/<SEASON>/<SIMU> sera cree)(defaut : %s)"%dir_default, 
26                  action="store",default=dir_default)
27parser.add_option("-p", "--seasons", help="saisons a traiter, separees par des virgules "
28                  "(defaut=%s)"%`seasons_default`, action="store", default=seasons_default)
29parser.add_option("-g", "--grid", help="nom de grille", action="store",default='')
30parser.add_option("-s", "--simulations", help="simulation+annees a traiter (sim_YYY1_YYY2)"
31                  "(separees par des virgules)(defaut : toutes)", action="store",default=None)
32parser.add_option("-f", "--force", help="force le recalcul de champs existants", 
33                  action="store_true",default=None)
34(options, args) = parser.parse_args()
35
36#---------------------------------------------------------------------------------
37from climaf.api import *
38# La description de l'organisation des données SE, des alias et rescalings
39# et de la gestion des saisons et grilles , est partagée dans une micro-librairie :
40from lmdz_SE import * # variables_list, all_SE_simulations, svsg, seasons
41#---------------------------------------------------------------------------------
42#
43if options.simulations is None : options.simulations=all_SE_simulations()
44else : options.simulations=options.simulations.split(",")
45#
46for season in options.seasons.split(",") :
47    if season not in seasons : 
48        print "La saison %s n'est pas connue"%season
49        continue
50    for simulation in options.simulations :
51        out_dir=options.output+"/"+options.grid+"/"+season+"/"+simulation+"/"
52        #
53        for var in variables_list :
54            result=svsg(simulation,var,season,options.grid)
55            try :
56                cfile(result,out_dir+var+".nc",deep=options.force,ln=True)
57                #cfile(result,out_dir+var+".nc",deep=None,ln=True)
58            except :
59                print "Pb avec la simulation %s , la saison %s et la variable %s"%(simu,season,var)
60           
Note: See TracBrowser for help on using the repository browser.