Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • mesonh/mesonh-code
  • quentin.rodier/mesonh-code-fork
  • benoit.vie/mesonh-code
  • joris.pianezze/mesonh-code
  • 8qq4g5s7/mesonh-code
  • jean.baptiste.filippi/meso-nh-fire-code
  • fdl68d9p/mesonh-code-sophia
7 results
Show changes
Showing
with 13297 additions and 0 deletions
#! /bin/sh
FILE=${1:-Bret45.99082200dg.Z}
DIRLFI=${2:-.}
export DIRLFI
#
ARCH=LXNAGf95
B=32
#
rm ${FILE}LLHV
/mesonh/MAKE/tools/diachro/${ARCH}_${B}/extractdia << EOF
$FILE
LLHV
0
1,10,1,10,2,5
1,1,1,1,1,1
FF
THM
DD
END
EOF
0) Repertoires presents dans le paquetage LIBTOOLS
conf/ : contient les fichiers de configuration des Makefiles
sous la forme 'config.$ARCH'.
bin/ : scripts utilises par les outils (a mettre dans le PATH)
bin/gmaketools : pour recompiler un programme personnel de tools/diachro
bin/rmlink : pour supprimer les liens crees par l usage de la variable
DIRLFI
bin/tonetcdf : appel par extractdia a ncgen pour transformer en fichier NetCDF
lib/NEWLFI : sources librairie LFI
lib/COMPRESS : sources librairie compression
lib/MPIvide : sources librairie MPIvide
lib/rad2 : sources librairie rayonnement
lib/gribex_1302b : sources librairie GRIB
lib/SURCOUCHE : sources de la surcouche
tools/diachro : outils diaprog, conv2dia, lfi2grb, extractdia, exrwdia
tools/fmmore : outil fmmore
tools/lfi2cdf : outils lfi2cdf/cdf2lfi
tools/lfiz : outils lfiz/unlfiz
tools/vergrid : outil vergrid
1) Principe de gestion avec les Makefiles :
Chaque sous-repertoire dans 'lib' et 'tools' contient un Makefile qui
a besoin de deux fichiers pour fonctionner :
- config.$ARCH : present dans le repertoire 'conf/' qui definit les
variables CPP,F90,F77... suivant l'architecture ou l'on
se trouve. Ce fichier de configuration est commun a
toutes les librairies et outils pour une architecture
donnee.
- Rules.$ARCH : present dans le repertoire ou se trouve le Makefile de
la librairie ou de l'outil que l'on desire generer.
Il contient les variables associees aux options de
compilation et directives specifiques (CPPFLAGS...)
a une librairie/application donnée.
$ARCH est le contenu de la variable d'environnement ARCH a definir
comme suit avant toute compilation du paquetage :
export ARCH=LXNAGf95 sur Linux avec Fortran NAG f95
export ARCH=LXpgf90 sur Linux avec Fortran PGI
export ARCH=HPNAGf95 sur HP avec Fortran NAG f95
export ARCH=HPf90 sur HP avec Fortran HP f90
export ARCH=SGI32 sur Silicon avec gestion 32bits memoire
export ARCH=SGI64 sur Silicon avec gestion 64bits memoire
export ARCH=SX5 sur NEC SX5
export ARCH=VPP sur Fujitsu VPP
export ARCH=AIX sur IBM
Remarque :
Dans chaque Makefile, le fichier Rules.$ARCH est inclus
APRES le fichier config.$ARCH. Par consequent, si une variable est
definie a la fois dans le fichier config.$ARCH et Rules.$ARCH par le
signe '=', la definition dans Rules.$ARCH ecrase la valeur de la
variable definie dans config.$ARCH. Il est quand meme possible de
conserver la valeur d'une variable definie dans config.$ARCH en
redefinissant la variable dans Rules.$ARCH par le signe '+=' auquel
cas, on concatene la valeur de la variable dans Rules.$ARCH a la
valeur qui etait presente dans config.$ARCH.
2) Generation des libraries :
- fixer la valeur de la variable d'environnement ARCH
- se placer dans le repertoire 'lib/'
- lancer la commande : make/gmake (GNU Make)
Les repertoires NEWLFI,COMPRESS,MPIvide et rad2 sont alors parcourus
et les librairies associees sont creees. Pour creer une librairie
particuliere on peut, soit se placer dans le repertoire correspondant
(par exemple lib/NEWLFI) et lancer 'make/gmake' soit lancer la
commande 'make/gmake <repertoire>' dans 'lib/' pour compiler la
librairie du repertoire 'lib/<repertoire>'.
Noter que pour l'instant, il faut generer manuellement la librairie
GRIB en se placant dans le repertoire 'lib/gribex_1302b/', en fixant
la variable d'env. R64 et en redefinissant la variable ARCH. Il faut
reprendre cela pour le rendre homogene avec le reste.
3) Generation des outils : identique a la generation des libraries en
remplacant le repertoire 'lib/' par le repertoire 'tools/'.
- fixer la valeur de la variable d'environnement ARCH
- se placer dans le repertoire 'tools/'
- lancer la commande : make/gmake (GNU Make)
Les repertoires lfiz,lfi2cdf et diachro sont parcourus pour generer
les differents outils. Les outils conv2dia et diaprog sont crees l'un
apres l'autre dans le repertoire 'diachro'. On peut se placer dans
chacun des repertoires lfiz, lfi2cdf ou diaprog pour construire un
outil particulier ou lancer gmake <repertoire> dans 'tools' pour creer
les executables des outils dans <repertoire>.
Si l'on tente de generer ces outils avant de creer les librairies
NEWLFI et COMPRESS, ces dernieres sont automatiquement generees.
Remarque concernant le repertoire 'diachro' (conv2dia et diaprog): il
se peut que sur certaines architectures, on ne veuille pas generer
conv2dia ou diaprog. Pour cela, il faut specifier dans le fichier
Rules.$ARCH, la variable PROGALL et l'initialiser avec le programme
que l'on desire generer : 'conv2dia' ou 'diaprog' (Cf. Rules.SX5 pour
exemple). La variable "PROGALL=conv2dia diaprog" par defaut.
4) Ou se trouvent les libraries/executables apres compilation ?
Dans chaque sous-repertoire lib/NEWLFI...,tools/diachro,... est créé
un repertoire $ARCH qui contient le resultat de la compilation.
5) Nettoyage des fichiers objets, librairies, executables :
Se placer dans les repertoires 'lib' ou 'tools'.
Il existe 2 solutions decrites ci-dessous :
- la premiere permet de supprimer les fichiers *.o cpp_*.f90 mais
conserve le repertoire $ARCH avec les librairies ou les executables:
make/gmake clean
- la seconde efface tous les repertoires $ARCH et restitue les libtools
tels qu'ils apparaissent a l'installation du fichier TAR :
make/gmake distclean
On peut egalement utiliser plus specifiquement le make/gmake
clean/distclean dans chacun des sous-repertoires a partir de 'lib' et
'tools'.
6) Quelques remarques pour la generation des outils :
- lfiz : necessite les librairies COMPRESS et NEWLFI presentes dans le
repertoire 'lib'. A priori, pas de pb lors de l'edition de liens.
- lfi2cdf : necessite la librairie NEWLFI ainsi que la librairie
NetCDF. Pour generer l'executable avec succes, il faut s'assurer que
le repertoire specifie dans Rules.$ARCH pour acceder a NetCDF est
correct (variable NETCDFHOME) sinon la commande Make echoue avec un
message clair a ce sujet.
- conv2dia (repertoire 'diachro') : necessite les librairies COMPRESS
et NEWLFI. A priori pas de pb a l'edition de lien
- diaprog (repertoire 'diachro') : necessite en plus des librairies
NEWLFI et COMPRESS, de libraries externes : ncar et X11. L'emplacement
de la librairie NCAR est definie a partir de la variable
d'environnment NCARG_ROOT qui doit etre valide. L'emplacement de la
librairie X11 est definie par la variable LIBEXT de chaque fichier
Rules.$ARCH dans 'diachro'.
#
# mesonh2obs
#
# Interpolation des champs modele aux points d'observation
# et sorties aux formats:LL (lon,lat) ou ll (lat,lon) sur l'horizontale
# H (niveaux modèle) ou Z (Z=cst) ou P (p=cst)
# sur la verticale
#
# 1) preparer un fichier ascii des positions d observation (une position par ligne):
# lon lat et les altitudes seront fournies en interactif
# ou
# lon lat altitude_en_m
# ou
# lat lon et les altitudes seront fournies en interactif
# ou
# lat lon altitude_en_m
#
# 2) disposer d un(des) fichier(s) diachronique(s): les champs indiques a mesonh2obs seront interpoles aux points reperes dans le fichier de positions
#
# 3) initialiser (facultatif si les fichiers sont dans le repertoire courant)
export DIRLFI=directory_fichier_diachro
export DIROBS=directory_fichier_position_des_obs
# puis executer
mesonh2obs # et repondre aux questions en interactif
# un fichier "dirmnh2obs" consignera toutes vos réponses
# rentrées au clavier
# ou
mesonh2obs < dirmnh2obs_precedente_execution
# ou
mesonh2obs << eof
format_fichier_de_sortie # format du fichier de sortie (LLHV/llhv/LLZV/llzv/LLPV/llpv)
format_fichier_d_entrée # LL (lon,lat)ou ll (lat,lon)
altitude_fichier_d_entrée # O (altitude_en_m en colonne 3)/N
si N, nombre_niveaux_verticaux # nombre de niveaux verticaux à la verticale de
# chaque points lat,lon
liste de ces niveaux # liste exemple: (en metres ou hPa): exemple 500 1500
fichier_position_des_obs # nom du fichier de localisation des obs préparé en 1)
0 # prints de controle (0/1/2/3)
fichier_diachronique1 # fichier contenant les champs a interpoler (sans .lfi)
champ1_du_fichier_diachro1 # champ à interpoler
champ2_du_fichier_diachro1
END # fin d extraction fichier_diachronique1
fichier_diachronique2 # fichier contenant les champs a interpoler (sans .lfi)
champi_du_fichier_diachro2
champj_du_fichier_diachro2
END # fin d extraction fichier_diachronique2
END # fin d extraction liste fichiers diachroniques
eof
#
# si champ_du_fichier_diachro contient la chaine 'AC' (pour precipitations
#ACcumulees), prévoir 1 ou 2 lignes de directive supplémentaire placées
#directement derrière ce nom de champ:
# première ligne supplémentaire= la réponse 'Y/N' à la question
#"Pluie cumulee, voulez-vous faire la difference avec un instant anterieur (o/O/y/Y/n/N) ?"
# si la réponse est 'Y/O',
#seconde ligne supplémentaire= nom du fichier diachronique (sans .lfi)
#correspondant à l'instant précédent
# on soustrait alors champ_du_fichier_diachro1 et champ_du_fichier_diachro_seconde_ligne_supplémentaire
#
# 4) on obtient un fichier ascii par fichier diachro traite contenant les differents champs modele interpoles aux points d'observation (deux lignes de commentaire avant chaque champ)
#
# Mise à jour le 30/01/2004
# Mise à jour le 01/03/2005
#
# obs2mesonh
#
# Intégration des observations 1D,2D,3D dans la grille Mesonh et écriture d'un fichier
# diachronique pouvant être utilisé via diaprog ou extractdia (readvar/writevar)
#
# 1) préparer un(des) fichier(s) ascii contenant toutes les observations
# au format suivant: une obs par ligne, la valeur indéfinie prévue étant 999.0
# lon lat altitude_en_mètres valeur
# ou lat lon altitude_en_mètres valeur
#
# 2) disposer d un fichier diachronique (fic_diachro_avec_zs): les observations seront integrees sur la grille definie dans ce fichier
#
# 3) initialiser (facultatif si les fichiers sont dans le repertoire courant)
export DIROBS=directory_fichiers_obs
export DIRLFI=directory_fichier_grille_mesonh
# puis executer
obs2mesonh #et répondre aux questions en interactif
# Un fichier "dirobs2mnh" consignera toutes vos réponses
# rentrées au clavier
# ou
obs2mesonh < dirobs2mnh_execution_precedente
# ou
obs2mesonh << eof
fic_diachro_avec_zs # pour initialiser la grille Mesonh et les dates/heures
0/1/2/3 # + ou - de prints de contrôle
LL # format du fichier d obs (LL=lon lat alt valeur,
# ll=lat lon alt valeur)
fichier1_obs # format lon lat altitude valeur (indef=999.0)
nom_nouveau_champ # nom des obs du fichier1 suivant la logique diaprog
unité_nouveau_champ # chaine de caractères libre
1D/2D/3D # champ créé de type 1D ou 3D ou 2D
# pour le cas 2D, seul K=1 sera initialisé
LL # format du fichier d obs (LL=lon lat alt valeur, ll= lat lon alt valeur)
fichier2_obs
nom_nouveau_champ2
unité_nouveau_champ2
1D/2D/3D
END # fin donc fermeture du fichier diachro résultat
eof
#
# 4) le fichier résultat est nommé fic_diachro_avec_zs+'obs':
# sa grille et ses dates/heures sont celles de fic_diachro_avec_zs,
# le champ ZS est celui de fic_diachro_avec_zs
# il contient autant de champs que de fichiers d'obs traités lors de
# l'exécution de obs2mesonh.
# + un champ ALT_nom_champ si le type=2D : altitude des obs
# + un champ N_nom_champ : nombre d obs par point de grille
#
# diaprog ou extractdia ou ... sont utilisables
#
# Pour les tracés, utiliser la version postérieure à diaprog_LX_020204
# activer l'option LSPOT=T pour obtenir le tracé de
# toutes les valeurs même si celles-ci sont trés peu denses.
#
#
#Méthode utilisée:
#=================
#
# pour chaque obs lue,
# - recherche du point de grille Mesonh I,J contenant cette obs.
# - puis recherche du niveau vertical en tenant compte de la
# grille verticale au point I,J ( grille verticale W si le nom du champ
# commence par la lettre W, grille de masse pour tous les autres noms
# - stockage de l'obs au point de grille (I,J,K)
#
# Pour les composantes du vent, on suppose que les observations sont
# lues en Uzonal et Vméridien et on transforme ces composantes pour les
# utiliser dans la grille Mesonh.
#
# Moyenne arithmétique des obs contenues dans la même maille du modèle
# Valeur indefinie si aucune obs.
# Pour les obs dont l unité est "dBz" : passage dbZe à Ze pour effectuer
# la moyenne puis retour à dbZe pour l'écriture
# Les observations dont l'altitude est inférieure à l'altitude du premier
# niveau de modèle sont stockées au niveau k=1 et un message est affiché lors de
# l'exécution.
#
# Mise à jour le 02/04/2004
# Mise à jour le 01/03/2005
source diff could not be displayed: it is too large. Options to address this: view the blob.
Duplication des points de garde dans le cas d'un fichier 1D
(indispensable dans le cas 'CART') 20040202
Possibilite de degrader les resolutions horizontales 20040519
Merge de conv2dia.elim et conv2dia.select 20040524
Mise a jour pour le cycle MASDEV4_6 (XLATORI,XLONORI,L1D,L2D,PACK,CSURF, fichier
type 'SU') 20050117
ex de directives pour tout convertir:
1
file1
file1all
n # reponse a - DO YOU WANT COARSER RESOLUTION along X ? (y/n)
n # reponse a - DO YOU WANT COARSER RESOLUTION along Y ? (y/n)
0 # reponse a - NO DELETION ? (enter 0)
ex de directives pour eliminer l instant M et qq autres champs:
1
file1
file1t
n
n
1 # reponse a - DELETION OF PARAMETERS AT TIME t-dt ? (enter 1)
e # reponse a - Do you want to ELIM or to SELECT parameters ? (E/S)
y # reponse a - Do you want to SUPPRESS others parameters ? (y/n)
LSUM
LSVM
LSWM
LSTHM
END
ex de directives pour selectionner dans 2 fichiers qq champs avec la moitie de resolution:
2
file1
file2
files
y # reponse a - DO YOU WANT COARSER RESOLUTION along X ? (y/n)
2 # reponse a Enter the ratio IX (1 point on IX points kept)
y # reponse a - DO YOU WANT COARSER RESOLUTION along Y ? (y/n)
2 # reponse a Enter the ratio IY (1 point on IY points kept)
2 # reponse a - DELETION OF PARAMETERS AT TIME t ? (enter 2)
s # reponse a - Do you want to ELIM or to SELECT parameters ? (E/S)
y # reponse a - Do you want to KEEP others parameters ? (y/n)
UM
VM
RVM
END
les directives sont stockees dans le fichier dirconv
(et non plus dirconv.elim ou dirconv.select)
Nouveautes:
----------
* les fichiers d'entree de diaprog peuvent etre dans des repertoires autre que
le repertoire courant. Les noms de ces repertoires sont indiques par des
variables d'environnement (initialisées et exportées). Ainsi
les fichiers .lfi sont (tous) placés dans le repertoire indique par la
variable DIRLFI
les fichiers 'fond de carte' dans celui indique par DIRFDC
les fichiers 'table de couleurs' dans celui indique par DIRCOL
Le programme crée un lien symbolique au moment de l'ouverture du fichier, et le
detruit a la fin (directive QUIT).
Si une des 3 variables d'environnement n'est pas initialisée, les fichiers
correspondants sont cherchés dans le repertoire courant, comme precedemment.
rq: le nom du fichier de sortie (defaut gmeta) peut etre indique avant l'appel au programme par la variable d'environnement NCARG_GKS_OUTPUT
* NIMNMX=3 permet de definir les isolignes avec
XISOREF (ou XISOREF_proc) pour une isoligne
XDIAINT (ou XDIAINT_proc) pour l intervalle
(les isolignes sont calculees en partant de XISOREF+- XDIAINT jusqu'aux extrema du champ)
* LTRACECV=T permet de representer la trace de la coupe verticale dans les
coupes horizontales suivantes (il faut demander un tracé dans la coupe verticale
_CV_ et pas seulement definir la coupe)
* ajout de segments de droite sur un plan horizontal definis en points de grille
de maniere similaire a XSEGMS, ex.:
LSEGM=T
ISEGMS=I1,J1,I2,J2,0,0,I3,J3,I4,J4,I5,J5,I6,J6,9999.
(les segments sont tracés dans la grille du champ)
* tracé de fichier fond de carte avec NIFDC=2 ou 3
le fichier ascii contient une serie de lignes lat lon n
trait pointillé si n=2(plume levee) et n=3(plume baissee)
rappel: trait plein si n=0(plume levee) et n=1(plume baissee)
* DDUMVM (ou DDUTVT ou DDUMVM10 ou avec autres composantes) calcule la
direction du vent, le trace se fait comme pour n'importe quel autre champ
scalaire (rappel: trace en etoiles colorees avec DIRUMVM)
en coupe horizontale 20040202
en coupe et profil verticaux 20040427
* LMARKER=T (avec LCOLAREA=T et LSPOT=F) permet de tracer les valeurs du champ
en etoiles colorees (precedemment seulement actif avec _MSKTOP_ )
(mieux vaut enlever les isolignes avec LISO=F)
* LSPOT=T (avec LCOLAREA=T et LMARKER=F) permet de tracer les valeurs du champ
en paves de couleur (mieux vaut enlever les isolignes avec LISO=F)
eventuellement entoures de noir et redimensionnes (question posee)
exemple de directives:
NIMNMX=1 pour fixer la palette de couleur
T2M_file1_ON_
LSPOT=T
n
T2M11H_file2_
* LRADAR (voir message 08092003)
* pour le trace de trajectoires (LXYZ00=T), possibilité de définir la boite
suivant la verticale a partir de champs lagrangiens autres que les Z00i
(ex: CGROUPSV3='TH001') les surfaces inferieure et superieure sont toujours
indiquées par XZL et XZH (tramask3d.f90)
* Avec LFT3C=T ou LFT4C=T , possibilite de representer 3 ou 4 courbes
(au lieu de 2 en standard) sur les petits diagrammes obtenus avec les
fonctions _FT_ et _PVKT_ ; a condition de representer le meme
parametre ou des parametres avec des bornes semblables.
(varfct.f90) 20040419
* pour les traces avec _FT_ et _PVKT_ , _FT1_ et _PVKT1_
les bornes sont calculees avec le min et le max effectifs avec LFTBAUTO=T ou LFT1BAUTO=T ,
ajout d'une constante de temps pour la nieme courbe avec XFT_ADTIMn et XFT1_ADTIMn (n=1 a 8)
(varfct.f90 traxy.f90) 20040419
* Possibilite de gerer les valeurs des labels de l'axe des temps
dans les series temporelles (PXT PYT PVT PVKT FT FT1 ?)
comme pour les autres graphiques
avec LFACTAXEX,LFACTAXEY ou LAXEXUSER,LAXEYUSER.
(myheurx.f90 varfct.f90) 20040419
* impression de la moyenne du champ (en plus des min et max) avec print gpe MINMAX
* operation LOG sur les parametres lus avec GPE(log) (20050217)
Correction de bugs:
------------------
* ecriture valeur champ du dernier point de la retro-trajectoire (tratraj3d.f90)
* relecture de l entete du fichier seulement s il est different
du dernier fichier courant
* la 2e directive est ignoree dans les 2 exemples suivants:
_file1_'toto'
_file2_'toto'
(le fichier toto reste associe a file1)
et
_file1_'toto'
_file1_'tata'
(file1 fait toujours reference a toto)
* tracé des streamlines réactivé (manquait un fichier source f77)
* en cas de superposition de 2 champs (1: vecteurs et 2: isocontours) avec
LCOLINE=T, les isolignes sont tracées en couleurs (et non en mono-couleur).
* le fichier pseudo-diachronique issu d'un fichier 1D etant cree avec la
duplication des points de garde (conv2dia):
- tracé de RS possible
- pour le PV, defaut pour NIDEBCOU,NJDEBCOU,NLMAX,NLANGLE,PROFILE
(respectivement a 2,2,2,0,1)
* l interpolation pour les coupes verticales prend en compte les valeurs a
XSPVAL (coupe_fordiachro.f90) (cas de fichiers issus de obs2mesonh) 20040402
* Introduction des titres et du fond de carte standards pour les traces de
retro-trajectoires (tratraj3d.f90), lachers (tramask3d.f90), et lignes de
courant (traflux3d.f90) 20040419
* Correction d un pb de relecture des min et max definis avec XISOMIN_PROC ou
XISOLEV_PROC quand 2 PROC avaient un prefixe commun (par ex MUMVM et MUMVM10).
(readmnmxint_iso.f90 et readxisolevp.f90) 20040419
* les min max et loc donnes par PRINT NomGPE MINMAX et LMNMXLOC=T ne prennent
plus en compte les valeurs XSPVAL (prints.f90) 20040506
* Pour les retro-trajectoires (tratraj3d.f90) et lignes de courant
(traflux3d.f90): (20050217)
- si LCOLINE=F traces en noir,
sinon boucle sur les 16 premieres couleurs de la table par defaut.
- dans le plan XY, couleurs des etoiles en fonction de l altitude de la part.
- impression des positions calculees dans FICVAL si LPRINT=T
* Impression du type d isosurface lu dans CGROUPSV3 (cas LXYZ00) sur 5 car. au
lieu de 4 (traceh_fordiachro.f90) (20050217)
Autres:
------
* ecriture des directives dans le fichier dir:jjmmaa:hh sans blancs en fin de ligne
* un seul listing est cree (OUT_DIA) au lieu de d'un OUT_DIAnn par fichier ouvert
SUBDIRS = lfiz lfi2cdf diachro fmmore vergrid
.PHONY: subdirs $(SUBDIRS)
ifndef ARCH
VALID_ARCH=$(subst ../conf/config.,,$(wildcard ../conf/config.*))
dummy %:
@echo "ERROR : ARCH variable is not set !";echo
@echo "Please, choose one of these statements then try again :";echo " "
@for i in $(VALID_ARCH); do echo export ARCH=$$i; done
else
subdirs: $(SUBDIRS)
$(SUBDIRS):
$(MAKE) -C $@
clean distclean:
@for dir in $(SUBDIRS); do \
$(MAKE) -C $$dir $@; \
done
endif
DIR_OBJ= ./$(ARCH)
ifndef ARCH
VALID_ARCH=$(subst Rules.,,$(wildcard Rules.*))
dummy %:
@echo "Error : ARCH variable is not set ! Valid values are :"
@echo $(VALID_ARCH)
else
PROGALL = conv2dia diaprog extractdia compute_r00_pc obs2mesonh mesonh2obs concat_time_diafile
include Rules.$(ARCH)
all : $(PROGALL)
#
# l ordre est a respecter
#
conv2dia:
$(MAKE) -f Makefile.conv2dia B=64
$(MAKE) -f Makefile.conv2dia B=32
diaprog:
$(MAKE) -f Makefile.diaprog B=32
extractdia:
$(MAKE) -f Makefile.extractdia B=32
#exrwdia:
# $(MAKE) -f Makefile.exrwdia
compute_r00_pc:
$(MAKE) -f Makefile.exrwdia PROG=$@
obs2mesonh:
$(MAKE) -f Makefile.exrwdia PROG=$@
mesonh2obs:
$(MAKE) -f Makefile.exrwdia PROG=$@
concat_time_diafile:
$(MAKE) -f Makefile.exrwdia PROG=$@
clean :
@for dir in $(DIR_OBJ)_* ; do\
(if [ -d $$dir ] ; then cd $$dir; rm -f cpp_*.f90 cpp_*.f *.o *.mod ; fi) \
done
distclean :
rm -rf $(DIR_OBJ)_*
endif
B ?= 64
DIR_OBJ=./$(ARCH)_$(B)
ifeq ($(strip $(VERSION)),)
VPATH=src/BUG:src/MOD:src/mesonh_MOD:src/FM2DIA:src/TOOL:src/mesonh:src/FM:$(DIR_OBJ)
else # string VERSION not empty
VPATH=src/$(VERSION):src/BUG:src/MOD:src/mesonh_MOD:src/FM2DIA:src/TOOL:src/mesonh:src/FM:$(DIR_OBJ)
endif
ifeq ($(origin MNH_LIBTOOLS), undefined)
include ../where.Libs
else
include $(MNH_LIBTOOLS)/tools/where.Libs
endif
INC = -I src/FM2DIA -I $(DIR_OBJ)
ifeq ($(VERSION),M45)
PROG=
PROG1 = conv2dia.elim
PROG2 = conv2dia.select
else
PROG = conv2dia
PROG1 =
PROG2 =
endif
OBJS = fmattr.o fmclos.o fmfree.o fmlook.o fmopen.o \
ini_cst.o jdlfilaf_fuji.o menu_diachro.o modd_conf.o modd_diachro.o \
modd_dimgrid_fordiachro.o modd_out_dia.o modd_rea_lfi.o modd_time.o \
modd_type_date.o read_dimgridref_fm2dia.o write_othersfields.o \
alloc_fordiachro.o elim.o fminit.o fmread.o \
fmwrit.o modd_alloc_fordiachro.o modd_cst.o modd_dim1.o \
modd_fmdeclar.o modd_fmmulti.o \
modd_grid1.o modd_grid.o modd_parameters.o \
modd_resolvcar.o modd_time1.o modd_type_and_lh.o read_diachro.o \
resolv_units.o set_dim.o set_light_grid.o temporal_dist.o \
write_diachro.o write_dimgridref.o fm_read.o fm_writ.o \
modd_nesting.o mode_gridcart.o modd_lunit1.o modd_param1.o \
mode_gridproj.o write_lfifm1_fordiachro_cv.o vert_coord.o writedir.o \
OBJDIA = fmattr.o fmclos.o fmfree.o fmlook.o fmopen.o \
ini_cst.o menu_diachro.o modd_conf.o modd_diachro.o \
modd_dimgrid_fordiachro.o modd_out_dia.o modd_rea_lfi.o modd_time.o \
modd_type_date.o read_dimgridref_fm2dia.o \
alloc_fordiachro.o elim.o fminit.o fmread.o \
fmwrit.o modd_alloc_fordiachro.o modd_cst.o modd_dim1.o \
modd_fmdeclar.o modd_fmmulti.o \
modd_grid1.o modd_grid.o modd_parameters.o \
modd_resolvcar.o modd_time1.o modd_type_and_lh.o read_diachro.o \
resolv_units.o set_dim.o set_light_grid.o temporal_dist.o \
write_diachro.o write_dimgridref.o fm_read.o fm_writ.o \
modd_nesting.o mode_gridcart.o modd_lunit1.o modd_param1.o\
mode_gridproj.o write_lfifm1_fordiachro_cv.o vert_coord.o writedir.o \
include $(DIR_CONF)/config.$(ARCH)
include $(MNH_LIBTOOLS)/tools/diachro/Rules.$(ARCH)
%.o:%.f90 $(DIR_OBJ)/.dummy
$(CPP) $(INC) $(CPPFLAGS) $< > $(DIR_OBJ)/cpp_$(*F).f90
$(F90) $(INC) -c $(F90FLAGS) $(DIR_OBJ)/cpp_$(*F).f90 -o $(DIR_OBJ)/$(*F).o
-@mv *.mod $(DIR_OBJ)/. 2> /dev/null || echo pas de module dans $*.f90
%.o:%.f $(DIR_OBJ)/.dummy
$(CPP) $(INC) $(CPPFLAGS) -Df77 $< > $(DIR_OBJ)/cpp_$(*F).f
$(F77) $(INC) -c $(F77FLAGS) $(DIR_OBJ)/cpp_$(*F).f -o $(DIR_OBJ)/$(*F).o
ifeq ($(B),64)
all: $(PROG1) $(PROG2) $(PROG) $(LIBDIA)
else
all: $(LIBDIA)
endif
$(PROG): $(PROG).o $(OBJS) $(LIBLFI) $(LIBCOMP)
cd $(DIR_OBJ);$(F90) $(LDFLAGS) -o $@ $(patsubst $(DIR_OBJ)/%,%,$^) $(LIBS)
@echo $@ available under $(DIR_OBJ)
$(PROG1): $(PROG1).o $(OBJS) $(LIBLFI) $(LIBCOMP)
cd $(DIR_OBJ);$(F90) $(LDFLAGS) -o $@ $(patsubst $(DIR_OBJ)/%,%,$^) $(LIBS)
@echo $@ available under $(DIR_OBJ)
$(PROG2): $(PROG2).o $(OBJS) $(LIBLFI) $(LIBCOMP)
cd $(DIR_OBJ);$(F90) $(LDFLAGS) -o $@ $(patsubst $(DIR_OBJ)/%,%,$^) $(LIBS)
@echo $@ available under $(DIR_OBJ)
$(DIR_OBJ)/.dummy :
mkdir $(DIR_OBJ)
@touch $(DIR_OBJ)/.dummy
$(LIBLFI):
$(MAKE) -C $(DIR_LFI)
#$(MAKE) -C $(DIR_LFI) DIR_CONF=$(DIR_CONF)
$(LIBCOMP):
$(MAKE) -C $(DIR_COMP)
ifeq ($(strip $(VERSION)),)
$(LIBDIA): $(OBJDIA)
cd $(DIR_OBJ) ; $(AR) rv $@ $(OBJDIA)
ls -l $(DIR_OBJ)/$@
else # string VERSION not empty
$(LIBDIA): $(OBJDIA)
@echo '***' if libxxx_$(VERSION).a does not exist, cp libxxx.a libxxx_$(VERSION).a
#ls -l $(DIR_OBJ)/$@
cd $(DIR_OBJ) ; $(AR) rv $@ $(OBJDIA)
ls -l $(DIR_OBJ)/$@
endif
clean:
(if [ -d $(DIR_OBJ) ] ; then cd $(DIR_OBJ); rm -f cpp_*.f90 cpp_*.f *.o *.mod ; fi)
distclean: clean
(if [ -d $(DIR_OBJ) ] ; then rm -rf $(DIR_OBJ); fi)
# nombre de passe = 1
conv2dia.o: conv2dia.f90 ini_cst.o \
menu_diachro.o modd_conf.o modd_diachro.o modd_dim1.o modd_grid.o \
modd_grid1.o modd_dimgrid_fordiachro.o modd_out_dia.o modd_rea_lfi.o \
modd_time1.o read_dimgridref_fm2dia.o \
write_dimgridref.o write_othersfields.o writedir.o
conv2dia.elim.o: conv2dia.elim.f90 ini_cst.o \
menu_diachro.o modd_conf.o modd_diachro.o modd_dim1.o modd_grid.o \
modd_grid1.o modd_dimgrid_fordiachro.o modd_out_dia.o modd_rea_lfi.o \
modd_time1.o read_dimgridref_fm2dia.o \
write_dimgridref.o write_othersfields.o
conv2dia.select.o: conv2dia.select.f90 ini_cst.o \
menu_diachro.o modd_conf.o modd_diachro.o modd_dim1.o modd_grid.o \
modd_grid1.o modd_dimgrid_fordiachro.o modd_out_dia.o modd_rea_lfi.o \
modd_time1.o read_dimgridref_fm2dia.o \
write_dimgridref.o write_othersfields.o
# nombre de passe = 2
fmattr.o: fmattr.f90 modd_fmdeclar.o \
modd_fmmulti.o
fmclos.o: fmclos.f90 modd_fmdeclar.o \
modd_fmmulti.o
fmfree.o: fmfree.f90 modd_fmdeclar.o \
modd_fmmulti.o
fmlook.o: fmlook.f90 modd_fmdeclar.o
fmopen.o: fmopen.f90 modd_fmdeclar.o \
modd_fmmulti.o
ini_cst.o: ini_cst.f90 modd_cst.o
jdlfilaf_fuji.o: jdlfilaf_fuji.f
menu_diachro.o: menu_diachro.f90 fmread.o \
fmwrit.o modd_out_dia.o
modd_conf.o: modd_conf.f90
modd_diachro.o: modd_diachro.f90
modd_dimgrid_fordiachro.o: modd_dimgrid_fordiachro.f90
modd_out_dia.o: modd_out_dia.f90
modd_rea_lfi.o: modd_rea_lfi.f90
modd_time.o: modd_time.f90 modd_parameters.o \
modd_type_date.o
modd_type_date.o: modd_type_date.f90
read_dimgridref_fm2dia.o: read_dimgridref_fm2dia.f90 fmread.o \
modd_conf.o modd_diachro.o modd_dim1.o modd_param1.o \
modd_grid1.o modd_grid.o modd_out_dia.o \
modd_parameters.o modd_rea_lfi.o \
modd_time1.o modd_time.o modd_type_date.o set_dim.o \
set_light_grid.o
write_othersfields.o: write_othersfields.f90 alloc_fordiachro.o \
fmread.o fmwrit.o modd_alloc_fordiachro.o \
modd_conf.o modd_diachro.o modd_dim1.o \
modd_dimgrid_fordiachro.o modd_grid1.o modd_grid.o \
modd_out_dia.o modd_parameters.o \
modd_resolvcar.o modd_time1.o \
modd_time.o modd_type_and_lh.o modd_type_date.o \
read_diachro.o resolv_units.o temporal_dist.o \
write_diachro.o
# nombre de passe = 3
alloc_fordiachro.o: alloc_fordiachro.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o
elim.o: elim.f90 modd_dimgrid_fordiachro.o
fminit.o: fminit.f90 modd_fmdeclar.o
fmread.o: fmread.f90 modd_conf.o modd_fmdeclar.o \
modd_type_date.o
fmwrit.o: fmwrit.f90 modd_conf.o \
modd_type_date.o
modd_alloc_fordiachro.o: modd_alloc_fordiachro.f90
modd_cst.o: modd_cst.f90
modd_dim1.o: modd_dim1.f90
modd_fmdeclar.o: modd_fmdeclar.f90
modd_fmmulti.o: modd_fmmulti.f90
modd_grid1.o: modd_grid1.f90
modd_grid.o: modd_grid.f90
modd_parameters.o: modd_parameters.f90
modd_resolvcar.o: modd_resolvcar.f90
modd_time1.o: modd_time1.f90 modd_type_date.o
modd_type_and_lh.o: modd_type_and_lh.f90
read_diachro.o: read_diachro.f90 alloc_fordiachro.o \
fmread.o modd_alloc_fordiachro.o modd_type_and_lh.o
resolv_units.o: resolv_units.f90 modd_conf.o \
modd_resolvcar.o
set_dim.o: set_dim.f90 fmread.o \
modd_conf.o modd_parameters.o
set_light_grid.o: set_light_grid.f90 fmread.o \
modd_conf.o modd_grid.o modd_time.o \
mode_gridcart.o mode_gridproj.o
temporal_dist.o: temporal_dist.f90
write_diachro.o: write_diachro.f90 fmwrit.o \
menu_diachro.o
write_dimgridref.o: write_dimgridref.f90 modd_diachro.o \
write_lfifm1_fordiachro_cv.o
# nombre de passe = 4
fm_read.o: fm_read.f90 modd_fmdeclar.o
fm_writ.o: fm_writ.f90 modd_fmdeclar.o
modd_nesting.o: modd_nesting.f90 modd_parameters.o
mode_gridcart.o: mode_gridcart.f90 modd_conf.o \
modd_parameters.o vert_coord.o
mode_gridproj.o: mode_gridproj.f90 modd_conf.o \
modd_cst.o modd_grid.o modd_lunit1.o \
modd_parameters.o vert_coord.o
vert_coord.o: vert_coord.f90
write_lfifm1_fordiachro_cv.o: write_lfifm1_fordiachro_cv.f90 fmread.o \
fmwrit.o modd_conf.o \
modd_diachro.o modd_dim1.o modd_dimgrid_fordiachro.o \
modd_grid1.o modd_grid.o modd_lunit1.o modd_param1.o \
modd_nesting.o modd_out_dia.o \
modd_parameters.o modd_time1.o \
modd_time.o modd_type_date.o
# nombre de passe = 5
modd_lunit1.o: modd_lunit1.f90 modd_parameters.o
modd_param1.o: modd_param1.f90
writedir.o: writedir.f90
B ?= 32
DIR_OBJ=./$(ARCH)_$(B)
ifeq ($(strip $(VERSION)),)
VPATH=src/BUG:src/DIAPRO:src/POS:src/TOOL:src/mesonh:src/FM2DIA:src/FM:src/MOD:src/mesonh_MOD:$(DIR_OBJ):$(DIR_OBJ)
else # string VERSION not empty
VPATH=.:src/$(VERSION):src/BUG:src/DIAPRO:src/POS:src/TOOL:src/mesonh:src/FM2DIA:src/FM:src/MOD:src/mesonh_MOD:$(DIR_OBJ):$(DIR_OBJ)
endif
ifeq ($(origin MNH_LIBTOOLS), undefined)
include ../where.Libs
else
include $(MNH_LIBTOOLS)/tools/where.Libs
endif
INC = -I src/POS -I $(DIR_OBJ)
LIBS = $(LIBNCAR) $(LIBX)
include $(DIR_CONF)/config.$(ARCH)
include $(MNH_LIBTOOLS)/tools/diachro/Rules.$(ARCH)
PROG = diaprog
OBJS = fmattr.o modd_cst.o modd_coord.o \
modd_grid1.o modd_grid.o modd_out.o modd_radar.o \
modd_alloc_fordiachro.o modd_type_and_lh.o alloc_fordiachro.o alloc2_fordiachro.o \
caresolv.o carmemory.o convallij2ll.o convij2xy.o \
convlo2up.o convxy2ij.o diff_oper.o extract_and_open_files.o \
inidef.o kztnp.o load_expr.o load_fmtaxes.o \
load_segments.o load_tit.o oper_process.o prints.o \
read_diachro.o read_dimgridref.o vert_coord.o read_th_pr.o read_type.o \
read_uvw.o realloc_and_load.o resolv_tit.o \
tsound_fordiachro.o varfct.o verif_group.o frame41.o gridal.o ficstr.o \
modd_alloc2_fordiachro.o modd_expr.o modd_files_diachro.o modd_mask3d.o \
modd_memcv.o modd_nmgrid.o modd_pt_for_ch_fordiachro.o modd_pvt.o \
modd_resolvcar.o modd_several_records.o modd_tit.o modd_traj3d.o \
modn_ncar.o modn_para.o fmfree.o fminit.o \
fmlook.o fmopen.o fmread.o modd_conf.o \
modd_dim1.o modd_fmdeclar.o \
modd_fmmulti.o modd_parameters.o modd_rea_lfi.o \
modd_time1.o modd_time.o modd_diachro.o \
ini_cst.o set_dim.o set_light_grid.o \
inidef.o bcgrd_fordiachro.o caluv_fordiachro.o careal.o carint.o \
closf.o colvect.o compcoord_fordiachro.o \
image_fordiachro.o imagev_fordiachro.o imcou_fordiachro.o interp_fordiachro.o \
interp_grids.o latlongrid.o loadmnmx_ft_pvkt.o loadmnmxint_iso.o \
loadunitit.o loadxisolevp.o load_xprdat.o memcv.o \
myheurx.o precou_fordiachro.o pvfct.o readcol_ft_pvkt.o \
read_filehead.o readmnmx_ft_pvkt.o read_sufwind.o realloc_and_load_records.o \
resolv_nijinf_nijsup.o resolv_times.o resolv_tity.o resolvtot.o \
rota.o subspxy.o tabcol_fordiachro.o traceh_fordiachro.o \
tracev_fordiachro.o tracircle.o traflux3d.o trahtraxy.o tramask.o \
trapro_fordiachro.o tratraj3d.o tramask3d.o tit_tra3d.o \
traxy.o veriflen_fordiachro.o \
modd_allvar.o modd_convij2xy.o modd_ctl_axes_and_styl.o modd_cvert.o \
modd_defcv.o modd_experim.o modd_hach.o modd_memgriuv.o \
modd_rsisocol.o modd_super.o modd_title.o mode_gridproj.o \
dewp.o echelle.o fleche.o os.o \
tsa.o valmnmx.o wtstr.o fm_read.o \
modd_lunit1.o modd_nesting.o modd_type_date.o mode_gridcart.o \
axelogpres.o color_fordiachro.o complat.o conv2xy.o \
computedir.o coupe_fordiachro.o coupeuw_fordiachro.o echelleph.o \
datfile_fordiachro.o defenetre.o factimp.o formatxy.o \
genformat_fordiachro.o imcoupv_fordiachro.o imcouv_fordiachro.o interpxyz.o \
latlongrid.o loadunitit.o load_xprdat.o memcv.o myheurx.o \
precou_fordiachro.o pro1d_fordiachro.o pvfct.o \
readmnmxint_iso.o readxisolevp.o rotauw.o readcol_ft_pvkt.o \
resolv_times.o resolv_tity.o resolvtot.o \
tracexz.o modd_type_allvar.o ccolr.o tracexy.o \
wsous.o interpolw.o modd_field1_cv2d.o esat.o \
readrefint_iso.o creatlink.o writedir.o
OBJBIG = frame41.o ficstr.o computedir.o image_fordiachro.o imagev_fordiachro.o\
imcou_fordiachro.o imcoupv_fordiachro.o imcouv_fordiachro.o \
interpolw.o oper_process.o precou_fordiachro.o \
pvfct.o subspxy.o traceh_fordiachro.o
OBJDIA = fmattr.o modd_cst.o modd_coord.o \
modd_grid1.o modd_grid.o modd_out.o \
modd_alloc_fordiachro.o modd_type_and_lh.o alloc_fordiachro.o \
read_diachro.o read_dimgridref.o vert_coord.o \
verif_group.o \
modd_alloc2_fordiachro.o modd_expr.o modd_files_diachro.o \
modd_memcv.o \
modd_resolvcar.o modd_several_records.o \
modn_ncar.o modn_para.o fmfree.o fminit.o \
fmlook.o fmopen.o fmread.o modd_conf.o \
modd_dim1.o modd_fmdeclar.o \
modd_fmmulti.o modd_parameters.o modd_rea_lfi.o \
modd_time1.o modd_time.o modd_diachro.o \
ini_cst.o set_dim.o set_light_grid.o \
compcoord_fordiachro.o \
read_filehead.o read_sufwind.o realloc_and_load_records.o \
modd_allvar.o modd_convij2xy.o modd_ctl_axes_and_styl.o modd_cvert.o \
modd_defcv.o modd_experim.o modd_hach.o modd_memgriuv.o \
modd_rsisocol.o modd_super.o modd_title.o mode_gridproj.o \
dewp.o echelle.o fleche.o os.o \
tsa.o valmnmx.o fm_read.o \
modd_lunit1.o modd_nesting.o modd_type_date.o mode_gridcart.o \
computedir.o interpxyz.o \
modd_type_allvar.o \
creatlink.o writedir.o
%.o:%.f90 $(DIR_OBJ)/.dummy
$(CPP) $(INC) $(CPPFLAGS) $< > $(DIR_OBJ)/cpp_$(*F).f90
$(F90) $(INC) -c $(F90FLAGS) $(DIR_OBJ)/cpp_$(*F).f90 -o $(DIR_OBJ)/$(*F).o
-@mv *.mod $(DIR_OBJ)/. 2> /dev/null || echo pas de module dans $*.f90
%.o:%.f $(DIR_OBJ)/.dummy
$(CPP) $(INC) $(CPPFLAGS) -Df77 $< > $(DIR_OBJ)/cpp_$(*F).f
$(F77) $(INC) -c $(F77FLAGS) $(DIR_OBJ)/cpp_$(*F).f -o $(DIR_OBJ)/$(*F).o
all: $(LIBDIA) $(PROG)
$(PROG): $(PROG).o $(OBJS) $(LIBCOMP) $(LIBLFI)
cd $(DIR_OBJ);$(F90) $(LDFLAGS) -o $@ $(patsubst $(DIR_OBJ)/%,%,$^) $(LIBS)
$(DIR_OBJ)/.dummy:
mkdir $(DIR_OBJ)
@touch $(DIR_OBJ)/.dummy
$(LIBLFI):
$(MAKE) -C $(DIR_LFI)
$(LIBCOMP):
$(MAKE) -C $(DIR_COMP)
ifeq ($(strip $(VERSION)),)
$(LIBDIA): $(OBJDIA)
cd $(DIR_OBJ) ; $(AR) rv $@ $(OBJDIA)
ls -l $(DIR_OBJ)/$@
else # string VERSION not empty
$(LIBDIA): $(OBJDIA)
@echo '***' if libxxx_$(VERSION).a does not exist, cp libxxx.a libxxx_$(VERSION).a
ls -l $(DIR_OBJ)/$@
cd $(DIR_OBJ) ; $(AR) rv $@ $(OBJDIA)
ls -l $(DIR_OBJ)/$@
endif
clean:
(if [ -d $(DIR_OBJ) ] ; then cd $(DIR_OBJ); rm -f cpp_*.f90 cpp_*.f *.o *.mod ; fi)
distclean: clean
(if [ -d $(DIR_OBJ) ] ; then rm -rf $(DIR_OBJ); fi)
BIG:
cd $(OBJDIR) ; rm -f $(OBJBIG)
$(MAKE) $(PROGS) CPPFLAGS=-D$(MAKECMDGOALS)
cp: $(SRC)
cp $< src/$(SRC)
chmod u+w src/$(SRC)
user: $(DIR_OBJ)/.dummy
ln -s $(DIR_DIA)/$(DIR_OBJ)/*.o $(DIR_OBJ)/.
cp $(DIR_DIA)/$(DIR_OBJ)/*.mod $(DIR_OBJ)/.
@ls -dl $(DIR_OBJ)
# nombre de passe = 1
diaprog.o: diaprog.f90 modd_cst.o modd_conf.o modd_coord.o \
modd_grid1.o modd_grid.o modd_out.o \
modd_alloc_fordiachro.o modd_type_and_lh.o \
alloc2_fordiachro.o caresolv.o carmemory.o \
convij2xy.o convlo2up.o diff_oper.o \
extract_and_open_files.o load_fmtaxes.o load_segments.o \
load_tit.o oper_process.o prints.o \
read_diachro.o read_dimgridref.o read_type.o \
read_uvw.o realloc_and_load.o resolv_tit.o \
verif_group.o modd_alloc2_fordiachro.o modd_expr.o \
modd_files_diachro.o modd_mask3d.o modd_memcv.o \
modd_nmgrid.o modd_pt_for_ch_fordiachro.o modd_pvt.o \
modd_resolvcar.o modd_several_records.o modd_tit.o \
modd_traj3d.o modn_ncar.o modn_para.o \
writedir.o
# nombre de passe = 2
fmattr.o: fmattr.f90 modd_fmdeclar.o \
modd_fmmulti.o
modd_conf.o: modd_conf.f90
modd_coord.o: modd_coord.f90
modd_cst.o: modd_cst.f90
modd_grid1.o: modd_grid1.f90
modd_grid.o: modd_grid.f90
modd_out.o: modd_out.f90
modd_alloc_fordiachro.o: modd_alloc_fordiachro.f90
modd_type_and_lh.o: modd_type_and_lh.f90
alloc_fordiachro.o: alloc_fordiachro.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o
alloc2_fordiachro.o: alloc2_fordiachro.f90 modd_alloc_fordiachro.o \
modd_alloc2_fordiachro.o modd_files_diachro.o modd_pt_for_ch_fordiachro.o \
modd_resolvcar.o
caresolv.o: caresolv.f90 modd_dim1.o modd_coord.o \
modd_grid1.o modd_parameters.o modd_alloc_fordiachro.o \
careal.o carint.o carmemory.o \
loadmnmx_ft_pvkt.o loadmnmxint_iso.o loadxisolevp.o \
resolvtot.o modd_ctl_axes_and_styl.o modd_defcv.o \
modd_expr.o modd_files_diachro.o modd_hach.o \
modd_mask3d.o modd_memcv.o modd_pvt.o modd_radar.o \
modd_resolvcar.o modd_rsisocol.o modd_super.o \
modd_tit.o modd_traj3d.o modn_ncar.o \
modn_para.o mode_gridproj.o \
writedir.o
carmemory.o: carmemory.f90 modd_resolvcar.o
convallij2ll.o: convallij2ll.f90 modd_conf.o \
modd_coord.o modd_dim1.o modd_grid1.o modd_grid.o \
modd_parameters.o modd_alloc_fordiachro.o resolvtot.o \
modd_convij2xy.o modd_files_diachro.o modd_resolvcar.o \
mode_gridproj.o
convij2xy.o: convij2xy.f90 modd_conf.o \
modd_coord.o modd_dim1.o modd_grid1.o modd_grid.o \
modd_parameters.o modd_alloc_fordiachro.o resolvtot.o \
modd_convij2xy.o modd_files_diachro.o modd_resolvcar.o \
mode_gridproj.o
convlo2up.o: convlo2up.f90 modd_alloc_fordiachro.o \
modd_files_diachro.o
convxy2ij.o: convxy2ij.f90 modd_conf.o \
modd_dim1.o modd_grid1.o modd_grid.o \
modd_parameters.o modd_alloc_fordiachro.o resolvtot.o \
modd_convij2xy.o modd_files_diachro.o modd_resolvcar.o \
mode_gridproj.o
diff_oper.o: diff_oper.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o modd_alloc2_fordiachro.o modd_files_diachro.o \
modd_memcv.o modd_pt_for_ch_fordiachro.o modd_resolvcar.o \
modd_tit.o modn_ncar.o
extract_and_open_files.o: extract_and_open_files.f90 modd_alloc_fordiachro.o \
modd_files_diachro.o modd_resolvcar.o \
creatlink.o
inidef.o: inidef.f90 modd_cst.o \
modd_allvar.o modn_ncar.o modn_para.o
kztnp.o: kztnp.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o modd_mask3d.o modd_resolvcar.o \
modn_ncar.o modn_para.o
load_expr.o: load_expr.f90 modd_alloc_fordiachro.o \
modd_expr.o modd_files_diachro.o modd_several_records.o \
modn_ncar.o
load_fmtaxes.o: load_fmtaxes.f90 modd_resolvcar.o
load_segments.o: load_segments.f90 modd_grid1.o \
resolvtot.o modd_resolvcar.o mode_gridproj.o
load_tit.o: load_tit.f90 resolv_tit.o \
modd_tit.o
oper_process.o: oper_process.f90 modd_conf.o \
modd_coord.o modd_cst.o modd_dim1.o modd_grid1.o \
modd_parameters.o modd_alloc_fordiachro.o \
modd_type_and_lh.o closf.o conv2xy.o \
loadunitit.o precou_fordiachro.o pvfct.o \
traceh_fordiachro.o tracev_fordiachro.o tramask.o \
trapro_fordiachro.o varfct.o modd_cvert.o \
modd_defcv.o modd_experim.o modd_files_diachro.o \
modd_mask3d.o modd_nmgrid.o modd_pt_for_ch_fordiachro.o \
modd_pvt.o modd_resolvcar.o modd_super.o \
modd_title.o modn_ncar.o modn_para.o \
mode_gridproj.o
prints.o: prints.f90 fmread.o \
modd_dim1.o modd_parameters.o modd_alloc_fordiachro.o \
modd_type_and_lh.o realloc_and_load.o verif_group.o \
modd_ctl_axes_and_styl.o modd_defcv.o modd_files_diachro.o \
modd_memcv.o modd_resolvcar.o modd_several_records.o \
modd_title.o modn_ncar.o modn_para.o
read_diachro.o: read_diachro.f90 fmread.o \
modd_dim1.o modd_alloc_fordiachro.o modd_type_and_lh.o \
alloc_fordiachro.o modd_resolvcar.o
read_dimgridref.o: read_dimgridref.f90 fmread.o \
modd_conf.o modd_dim1.o modd_grid1.o modd_grid.o \
modd_parameters.o modd_rea_lfi.o \
modd_time1.o modd_time.o \
set_dim.o set_light_grid.o \
modd_resolvcar.o
read_th_pr.o: read_th_pr.f90 \
modd_alloc_fordiachro.o modd_files_diachro.o \
modd_mask3d.o modd_pt_for_ch_fordiachro.o modd_resolvcar.o \
modd_several_records.o
read_type.o: read_type.f90 fmread.o \
modd_alloc_fordiachro.o modd_diachro.o modd_type_and_lh.o \
modd_resolvcar.o modd_several_records.o
read_uvw.o: read_uvw.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o modd_files_diachro.o modd_memgriuv.o \
modd_pt_for_ch_fordiachro.o modd_resolvcar.o modd_several_records.o
realloc_and_load.o: realloc_and_load.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o verif_group.o modd_files_diachro.o \
modd_resolvcar.o modd_several_records.o
resolv_tit.o: resolv_tit.f90 modd_alloc_fordiachro.o \
modd_resolvcar.o modd_tit.o
tramask3d.o: tramask3d.f90 modd_conf.o \
modd_coord.o modd_dim1.o modd_grid1.o modd_parameters.o \
modd_alloc_fordiachro.o realloc_and_load.o modd_ctl_axes_and_styl.o \
modd_files_diachro.o modd_mask3d.o modd_nmgrid.o \
modd_resolvcar.o modd_several_records.o modd_traj3d.o \
modn_ncar.o modn_para.o modd_title.o tit_tra3d.o
tsound_fordiachro.o: tsound_fordiachro.f90 fmread.o \
modd_dim1.o modd_parameters.o modd_type_and_lh.o \
modd_pt_for_ch_fordiachro.o modd_resolvcar.o modd_rsisocol.o \
modd_tit.o modd_title.o modn_ncar.o
varfct.o: varfct.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o loadmnmx_ft_pvkt.o readcol_ft_pvkt.o \
readmnmx_ft_pvkt.o modd_ctl_axes_and_styl.o modd_defcv.o \
modd_resolvcar.o modd_tit.o modd_title.o \
modn_ncar.o modn_para.o writedir.o
verif_group.o: verif_group.f90 fmread.o \
modd_alloc_fordiachro.o modd_diachro.o modd_type_and_lh.o \
realloc_and_load_records.o modd_resolvcar.o modd_several_records.o \
modn_ncar.o
frame41.o: frame41.f modd_type_and_lh.o \
modd_pvt.o modd_resolvcar.o modn_ncar.o \
modn_para.o
gridal.o: gridal.f
modd_alloc2_fordiachro.o: modd_alloc2_fordiachro.f90
modd_expr.o: modd_expr.f90
modd_files_diachro.o: modd_files_diachro.f90
modd_mask3d.o: modd_mask3d.f90
modd_memcv.o: modd_memcv.f90
modd_nmgrid.o: modd_nmgrid.f90
modd_pt_for_ch_fordiachro.o: modd_pt_for_ch_fordiachro.f90
modd_pvt.o: modd_pvt.f90
modd_resolvcar.o: modd_resolvcar.f90
modd_several_records.o: modd_several_records.f90
modd_tit.o: modd_tit.f90
modd_traj3d.o: modd_traj3d.f90
modn_ncar.o: modn_ncar.f90
modn_para.o: modn_para.f90 modd_dim1.o
# nombre de passe = 3
fmfree.o: fmfree.f90 modd_fmdeclar.o \
modd_fmmulti.o
fminit.o: fminit.f90 modd_fmdeclar.o
fmlook.o: fmlook.f90 modd_fmdeclar.o
fmopen.o: fmopen.f90 modd_fmdeclar.o \
modd_fmmulti.o
fmread.o: fmread.f90 modd_conf.o \
modd_fmdeclar.o modd_type_date.o
modd_conf.o: modd_conf.f90
modd_dim1.o: modd_dim1.f90
modd_fmdeclar.o: modd_fmdeclar.f90
modd_fmmulti.o: modd_fmmulti.f90
modd_parameters.o: modd_parameters.f90
modd_radar.o: modd_radar.f90
modd_rea_lfi.o: modd_rea_lfi.f90
modd_time1.o: modd_time1.f90 modd_type_date.o
modd_time.o: modd_time.f90 modd_parameters.o \
modd_type_date.o
modd_diachro.o: modd_diachro.f90
ini_cst.o: ini_cst.f90 modd_cst.o
set_dim.o: set_dim.f90 fmread.o \
modd_conf.o modd_parameters.o
set_light_grid.o: set_light_grid.f90 fmread.o \
modd_conf.o modd_grid.o modd_time.o \
mode_gridcart.o mode_gridproj.o
bcgrd_fordiachro.o: bcgrd_fordiachro.f90 modd_grid1.o \
modd_grid.o modd_ctl_axes_and_styl.o modd_mask3d.o \
modd_nmgrid.o modd_resolvcar.o modd_traj3d.o modd_radar.o \
modn_ncar.o modn_para.o mode_gridproj.o \
writedir.o creatlink.o
caluv_fordiachro.o: caluv_fordiachro.f90 modd_dim1.o \
modd_parameters.o modd_alloc_fordiachro.o modd_type_and_lh.o \
realloc_and_load.o verif_group.o modd_files_diachro.o \
modd_pt_for_ch_fordiachro.o modd_resolvcar.o modd_several_records.o
careal.o: careal.f90 modd_resolvcar.o
carint.o: carint.f90 modd_resolvcar.o
closf.o: closf.f90 modd_conf.o \
modd_time1.o modd_time.o modd_alloc_fordiachro.o \
modd_ctl_axes_and_styl.o modd_defcv.o modd_memcv.o \
modd_nmgrid.o modd_resolvcar.o modn_ncar.o \
modn_para.o modd_grid1.o modd_parameters.o mode_gridproj.o
colvect.o: colvect.f90 modd_pvt.o \
modd_resolvcar.o modn_ncar.o
conv2xy.o: conv2xy.f90 modd_conf.o \
modd_dim1.o modd_grid1.o modd_alloc_fordiachro.o \
modd_files_diachro.o modd_resolvcar.o mode_gridproj.o
datfile_fordiachro.o: datfile_fordiachro.f90 modd_out.o \
modd_alloc_fordiachro.o modd_type_and_lh.o modd_files_diachro.o \
modd_resolvcar.o
defenetre.o: defenetre.f90 modd_dim1.o \
modd_ctl_axes_and_styl.o modd_nmgrid.o modd_resolvcar.o \
modn_ncar.o
factimp.o: factimp.f90 modd_type_and_lh.o \
modd_memcv.o modd_resolvcar.o
formatxy.o: formatxy.f90 modd_resolvcar.o
image_fordiachro.o: image_fordiachro.f90 modd_conf.o \
modd_lunit1.o modd_out.o modd_time1.o \
modd_time.o modd_alloc_fordiachro.o readmnmxint_iso.o \
readxisolevp.o modd_ctl_axes_and_styl.o modd_hach.o \
modd_mask3d.o modd_nmgrid.o modd_pt_for_ch_fordiachro.o \
modd_resolvcar.o modd_rsisocol.o modd_super.o \
modd_tit.o modd_title.o modn_ncar.o \
modn_para.o \
readrefint_iso.o writedir.o creatlink.o
imagev_fordiachro.o: imagev_fordiachro.f90 modd_conf.o \
modd_grid1.o modd_grid.o modd_out.o \
modd_time1.o modd_time.o modd_alloc_fordiachro.o \
resolv_tit.o resolv_tity.o modd_ctl_axes_and_styl.o \
modd_memcv.o modd_pt_for_ch_fordiachro.o modd_pvt.o \
modd_resolvcar.o modd_super.o modd_tit.o \
modd_title.o modn_ncar.o modn_para.o \
mode_gridproj.o computedir.o
imcou_fordiachro.o: imcou_fordiachro.f90 modd_conf.o \
modd_dim1.o modd_grid1.o modd_grid.o \
modd_lunit1.o modd_out.o modd_parameters.o \
modd_alloc_fordiachro.o modd_type_and_lh.o readmnmxint_iso.o \
readxisolevp.o resolv_tit.o resolv_tity.o \
modd_allvar.o modd_ctl_axes_and_styl.o modd_cvert.o \
modd_defcv.o modd_hach.o modd_nmgrid.o \
modd_pt_for_ch_fordiachro.o modd_pvt.o modd_resolvcar.o \
modd_rsisocol.o modd_super.o modd_tit.o \
modd_title.o modn_ncar.o modn_para.o modd_mask3d.o \
mode_gridproj.o \
readrefint_iso.o writedir.o creatlink.o
interp_fordiachro.o: interp_fordiachro.f90 modd_grid1.o \
modd_parameters.o modd_type_and_lh.o modd_mask3d.o \
modd_nmgrid.o modd_pt_for_ch_fordiachro.o modd_resolvcar.o \
modn_ncar.o modn_para.o
interp_grids.o: interp_grids.f90 modd_alloc_fordiachro.o \
modd_nmgrid.o modd_pt_for_ch_fordiachro.o modd_pvt.o \
modd_resolvcar.o
latlongrid.o: latlongrid.f90 modd_alloc_fordiachro.o \
modd_nmgrid.o modd_resolvcar.o
loadmnmx_ft_pvkt.o: loadmnmx_ft_pvkt.f90 modd_resolvcar.o
loadmnmxint_iso.o: loadmnmxint_iso.f90 modd_resolvcar.o
loadunitit.o: loadunitit.f90 modd_alloc_fordiachro.o \
modd_nmgrid.o modd_resolvcar.o
loadxisolevp.o: loadxisolevp.f90 modd_resolvcar.o
load_xprdat.o: load_xprdat.f90 modd_alloc_fordiachro.o \
modd_resolvcar.o
memcv.o: memcv.f90 modd_memcv.o \
modd_nmgrid.o modn_para.o modd_resolvcar.o
myheurx.o: myheurx.f90 modd_dim1.o \
modd_ctl_axes_and_styl.o modd_resolvcar.o modn_ncar.o
precou_fordiachro.o: precou_fordiachro.f90 \
modd_conf.o modd_dim1.o modd_grid1.o \
modd_alloc_fordiachro.o modd_type_and_lh.o \
modd_cvert.o modd_memgriuv.o modd_nmgrid.o \
modd_pt_for_ch_fordiachro.o modd_pvt.o modd_resolvcar.o \
modn_ncar.o modn_para.o computedir.o
pvfct.o: pvfct.f90 modd_dim1.o \
modd_grid1.o modd_grid.o modd_parameters.o \
modd_alloc_fordiachro.o modd_type_and_lh.o varfct.o \
modd_cvert.o modd_experim.o modd_nmgrid.o \
modd_pvt.o modd_resolvcar.o modd_super.o \
modd_tit.o modd_title.o modn_ncar.o \
modn_para.o mode_gridproj.o
readcol_ft_pvkt.o: readcol_ft_pvkt.f90 modd_resolvcar.o
read_filehead.o: read_filehead.f90 fmread.o \
modd_dim1.o modd_parameters.o modd_diachro.o \
modd_type_and_lh.o modd_resolvcar.o modn_ncar.o \
modn_para.o
readmnmx_ft_pvkt.o: readmnmx_ft_pvkt.f90 modd_resolvcar.o
read_sufwind.o: read_sufwind.f90 modd_resolvcar.o
realloc_and_load_records.o: realloc_and_load_records.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o modd_files_diachro.o modd_resolvcar.o \
modd_several_records.o
resolv_nijinf_nijsup.o: resolv_nijinf_nijsup.f90 modd_dim1.o \
modd_parameters.o modd_type_and_lh.o modd_resolvcar.o \
modn_para.o
resolv_times.o: resolv_times.f90 modd_conf.o \
modd_grid.o modd_time1.o modd_time.o \
modd_alloc_fordiachro.o modd_type_and_lh.o modd_title.o
resolv_tity.o: resolv_tity.f90 modd_resolvcar.o \
modd_tit.o
resolvtot.o: resolvtot.f90 modd_resolvcar.o \
modn_ncar.o modn_para.o
rota.o: rota.f90 modd_defcv.o \
modd_memgriuv.o modd_resolvcar.o modn_para.o
subspxy.o: subspxy.f90 modd_conf.o \
modd_cst.o modd_dim1.o modd_grid1.o \
modd_parameters.o modd_alloc_fordiachro.o \
modd_type_and_lh.o loadunitit.o precou_fordiachro.o \
traceh_fordiachro.o tracev_fordiachro.o modd_cvert.o \
modd_defcv.o modd_experim.o modd_files_diachro.o \
modd_mask3d.o modd_nmgrid.o modd_pt_for_ch_fordiachro.o \
modd_pvt.o modd_resolvcar.o modd_super.o \
modd_tit.o modd_title.o modn_ncar.o \
modn_para.o mode_gridproj.o
tabcol_fordiachro.o: tabcol_fordiachro.f90 modd_resolvcar.o
traceh_fordiachro.o: traceh_fordiachro.f90 modd_dim1.o \
modd_out.o modd_parameters.o modd_alloc_fordiachro.o \
modd_type_and_lh.o interp_fordiachro.o resolv_tit.o \
resolv_tity.o modd_allvar.o modd_defcv.o \
modd_mask3d.o modd_nmgrid.o modd_pt_for_ch_fordiachro.o \
modd_resolvcar.o modd_super.o modd_tit.o \
modd_title.o modn_ncar.o modn_para.o computedir.o \
writedir.o
tracev_fordiachro.o: tracev_fordiachro.f90 modd_dim1.o \
modd_out.o modd_alloc_fordiachro.o modd_nmgrid.o \
modd_pt_for_ch_fordiachro.o modd_resolvcar.o modd_super.o \
modd_title.o modn_ncar.o modn_para.o
traflux3d.o: traflux3d.f90 modd_conf.o \
modd_dim1.o modd_grid1.o modd_parameters.o \
modd_alloc_fordiachro.o interpxyz.o realloc_and_load.o \
modd_ctl_axes_and_styl.o modd_files_diachro.o modd_mask3d.o \
modd_nmgrid.o modd_resolvcar.o modd_several_records.o \
modd_traj3d.o modn_ncar.o modn_para.o tit_tra3d.o
trahtraxy.o: trahtraxy.f90 modd_alloc_fordiachro.o \
modd_type_and_lh.o resolv_tit.o resolv_tity.o \
modd_defcv.o modd_nmgrid.o modd_pt_for_ch_fordiachro.o \
modd_resolvcar.o modd_tit.o modn_ncar.o \
modn_para.o
tramask.o: tramask.f90 modd_grid1.o \
modd_ctl_axes_and_styl.o modd_nmgrid.o modd_resolvcar.o \
modd_super.o modd_tit.o modd_title.o \
modn_ncar.o modn_para.o
trapro_fordiachro.o: trapro_fordiachro.f90 modd_conf.o \
modd_grid1.o modd_grid.o modd_out.o \
modd_parameters.o modd_type_and_lh.o readmnmx_ft_pvkt.o \
modd_ctl_axes_and_styl.o modd_defcv.o modd_nmgrid.o \
modd_resolvcar.o modd_super.o modd_tit.o \
modd_title.o modn_ncar.o modn_para.o \
mode_gridproj.o writedir.o
tratraj3d.o: tratraj3d.f90 modd_conf.o \
modd_dim1.o modd_grid1.o modd_parameters.o \
modd_alloc_fordiachro.o interpxyz.o realloc_and_load.o \
modd_ctl_axes_and_styl.o modd_files_diachro.o modd_mask3d.o \
modd_nmgrid.o modd_resolvcar.o modd_several_records.o \
modd_traj3d.o modn_ncar.o modn_para.o modd_title.o tit_tra3d.o
traxy.o: traxy.f90 modd_conf.o \
modd_dim1.o modd_grid1.o modd_parameters.o \
modd_alloc_fordiachro.o modd_type_and_lh.o set_dim.o \
modd_ctl_axes_and_styl.o modd_files_diachro.o modd_nmgrid.o \
modd_resolvcar.o modd_super.o modd_tit.o \
modd_title.o modn_ncar.o modn_para.o
veriflen_fordiachro.o: veriflen_fordiachro.f90 modd_conf.o \
modd_dim1.o modd_grid1.o modd_parameters.o \
modd_alloc_fordiachro.o modd_type_and_lh.o modd_defcv.o \
modd_nmgrid.o modd_resolvcar.o modn_para.o \
mode_gridproj.o
modd_allvar.o: modd_allvar.f90 modd_type_allvar.o
modd_convij2xy.o: modd_convij2xy.f90
modd_ctl_axes_and_styl.o: modd_ctl_axes_and_styl.f90
modd_cvert.o: modd_cvert.f90
modd_defcv.o: modd_defcv.f90
modd_experim.o: modd_experim.f90
modd_hach.o: modd_hach.f90
modd_memgriuv.o: modd_memgriuv.f90
modd_rsisocol.o: modd_rsisocol.f90
modd_super.o: modd_super.f90
modd_title.o: modd_title.f90
mode_gridproj.o: mode_gridproj.f90 modd_conf.o \
modd_cst.o modd_grid.o modd_lunit1.o \
modd_parameters.o vert_coord.o
mode_gridcart.o: mode_gridcart.f90 modd_conf.o \
modd_parameters.o vert_coord.o
compcoord_fordiachro.o: compcoord_fordiachro.f90 modd_conf.o \
modd_dim1.o modd_grid1.o modd_parameters.o \
modd_memcv.o modd_resolvcar.o vert_coord.o
vert_coord.o: vert_coord.f90
dewp.o: dewp.f90
echelle.o: echelle.f90 modd_resolvcar.o
fleche.o: fleche.f90
os.o: os.f90
tsa.o: tsa.f90
valmnmx.o: valmnmx.f90
wtstr.o: wtstr.f
# nombre de passe = 4
fm_read.o: fm_read.f90 modd_fmdeclar.o
modd_conf1.o: modd_conf1.f90
modd_lunit1.o: modd_lunit1.f90 modd_parameters.o
modd_nesting.o: modd_nesting.f90 modd_parameters.o
modd_type_date.o: modd_type_date.f90
axelogpres.o: axelogpres.f90 modd_pvt.o
color_fordiachro.o: color_fordiachro.f90 modd_resolvcar.o
complat.o: complat.f90 modd_grid1.o \
modd_nmgrid.o mode_gridproj.o
computedir.o: computedir.f90 modd_grid1.o \
modd_grid.o modd_alloc_fordiachro.o modd_resolvcar.o \
modd_super.o modn_ncar.o modn_para.o \
mode_gridproj.o
coupe_fordiachro.o: coupe_fordiachro.f90 modd_grid1.o \
modd_parameters.o modd_type_and_lh.o modd_cvert.o \
modd_memcv.o modd_nmgrid.o modd_resolvcar.o \
modn_ncar.o modn_para.o
coupeuw_fordiachro.o: coupeuw_fordiachro.f90 modd_grid1.o \
modd_parameters.o modd_type_and_lh.o modd_cvert.o \
modd_memcv.o modd_memgriuv.o modd_nmgrid.o \
modd_resolvcar.o modn_ncar.o modn_para.o
echelleph.o: echelleph.f90 modd_memcv.o \
modd_resolvcar.o
genformat_fordiachro.o: genformat_fordiachro.f90
imcoupv_fordiachro.o: imcoupv_fordiachro.f90 modd_grid1.o \
modd_grid.o modd_lunit1.o modd_out.o \
modd_parameters.o modd_alloc_fordiachro.o modd_type_and_lh.o \
resolv_tit.o resolv_tity.o modd_ctl_axes_and_styl.o \
modd_cvert.o modd_defcv.o modd_field1_cv2d.o \
modd_nmgrid.o modd_pt_for_ch_fordiachro.o modd_pvt.o \
modd_resolvcar.o modd_super.o modd_tit.o \
modd_title.o modn_ncar.o modn_para.o \
mode_gridproj.o
imcouv_fordiachro.o: imcouv_fordiachro.f90 modd_conf.o \
modd_grid1.o modd_grid.o modd_lunit1.o \
modd_out.o modd_parameters.o modd_alloc_fordiachro.o \
resolv_tit.o resolv_tity.o modd_ctl_axes_and_styl.o \
modd_cvert.o modd_defcv.o modd_field1_cv2d.o \
modd_memcv.o modd_nmgrid.o modd_pt_for_ch_fordiachro.o \
modd_pvt.o modd_resolvcar.o modd_super.o \
modd_tit.o modd_title.o modn_ncar.o \
modn_para.o mode_gridproj.o
interpxyz.o: interpxyz.f90
pro1d_fordiachro.o: pro1d_fordiachro.f90 modd_conf.o \
modd_grid1.o modd_out.o modd_parameters.o \
modd_alloc_fordiachro.o modd_type_and_lh.o modd_allvar.o \
modd_ctl_axes_and_styl.o modd_defcv.o modd_experim.o \
modd_resolvcar.o modd_super.o modd_tit.o \
modd_title.o modn_ncar.o modn_para.o
readmnmxint_iso.o: readmnmxint_iso.f90 modd_resolvcar.o
readrefint_iso.o: readrefint_iso.f90 modd_resolvcar.o
readxisolevp.o: readxisolevp.f90 modd_resolvcar.o
rotauw.o: rotauw.f90 modd_defcv.o \
modn_para.o
tracexz.o: tracexz.f90 modd_grid1.o \
modd_parameters.o modd_nmgrid.o modn_para.o
modd_type_allvar.o: modd_type_allvar.f90
ccolr.o: ccolr.f
tracexy.o: tracexy.f90 modd_dim1.o \
modd_out.o modd_nmgrid.o
wsous.o: wsous.f90
# nombre de passe = 5
interpolw.o: interpolw.f90 modd_dim1.o \
modd_grid1.o modd_resolvcar.o modn_ncar.o
modd_field1_cv2d.o: modd_field1_cv2d.f90
esat.o: esat.f90
tracircle.o: tracircle.f90 modd_radar.o
tit_tra3d.o: tit_tra3d.f90 modd_tit.o modd_title.o modd_resolvcar.o
B ?= 32
ifeq ($(origin MNH_LIBTOOLS), undefined)
dummy :
@echo "ERROR : MNH_LIBTOOLS variable is not set !";echo
else
include $(MNH_LIBTOOLS)/tools/where.Libs
DIR_OBJ=./$(ARCH)_$(B)
ifeq ($(strip $(VERSION)),)
VPATH=src:$(DIR_DIA)/src/BUG:$(DIR_DIA)/src/EXTRACTDIA:$(DIR_OBJ)
else # string VERSION not empty
VPATH=src:$(DIR_DIA)/src/$(VERSION):$(DIR_DIA)/src/BUG:$(DIR_DIA)/src/EXTRACTDIA:$(DIR_OBJ)
endif
# par defaut exrwdia.f90 est traite, sinon make PROG=votre_prog
PROG ?= exrwdia
# a completer eventuellement par vos routines
OBJS =
INC = -I $(DIR_OBJ) -I $(DIR_DIA)/$(DIR_OBJ)
LIBS = $(DIR_DIA)/$(DIR_OBJ)/$(LIBEXTRACT) $(DIR_DIA)/$(DIR_OBJ)/$(LIBDIA)\
$(LIBCOMP) $(LIBLFI)
include $(DIR_CONF)/config.$(ARCH)
include $(DIR_DIA)/Rules.$(ARCH)
%.o:%.f90 $(DIR_OBJ)/.dummy
$(CPP) $(INC) $(CPPFLAGS) $< > $(DIR_OBJ)/cpp_$(*F).f90
$(F90) $(INC) -c $(F90FLAGS) $(DIR_OBJ)/cpp_$(*F).f90 -o $(DIR_OBJ)/$(*F).o
-@mv *.mod $(DIR_OBJ)/. 2>/dev/null || echo pas de module dans $*.f90
all: $(PROG)
$(PROG): $(addsuffix .o,$(PROG)) $(OBJS) $(LIBS)
cd $(DIR_OBJ);$(F90) $(LDFLAGS) $(patsubst $(DIR_OBJ)/%,%,$^) -o $@
@echo executable $@ disponible sous $(DIR_OBJ)
$(DIR_OBJ)/.dummy:
mkdir $(DIR_OBJ)
@touch $(DIR_OBJ)/.dummy
clean:
(if [ -d $(DIR_OBJ) ] ; then cd $(DIR_OBJ); rm $(PROG) cpp_* *.mod *.o; fi)
$(PROG).o: $(PROG).f90 $(OBJS)
#
# dependances
# entre unites de programme et les use MODI_myroutine
# si myroutine est une routine utilisateur
#
#
endif
B ?= 32
DIR_OBJ=./$(ARCH)_$(B)
ifeq ($(strip $(VERSION)),)
VPATH=src/BUG:src/EXTRACTDIA:src/TOOL:src/mesonh:$(DIR_OBJ)
else # string VERSION not empty
VPATH=src/$(VERSION):src/BUG:src/EXTRACTDIA:src/TOOL:src/mesonh:src/MOD:src/mesonh_MOD:$(DIR_OBJ)
endif
ifeq ($(origin MNH_LIBTOOLS), undefined)
include ../where.Libs
else
include $(MNH_LIBTOOLS)/tools/where.Libs
endif
INC = -I $(DIR_OBJ)
LIBS = $(DIR_DIA)/$(DIR_OBJ)/$(LIBDIA) $(LIBCOMP) $(LIBLFI)
include $(DIR_CONF)/config.$(ARCH)
include Rules.$(ARCH)
PROG = extractdia
OBJS = shuman.o hor_interp_4pts.o modd_readlh.o \
uv_to_zonal_and_merid.o temporal_dist_for_ext.o \
low2up.o up2low.o \
change_a_grid.o \
zinter.o zmoy.o pinter.o \
readvar.o writevar.o writecdl.o writellhv.o writegrib.o\
dd.o ff.o computedir.o verif_group.o \
ini2lalo.o int2lalo.o \
to_computing_units.o from_computing_units.o modn_outfile.o
all: $(LIBEXTRACT) $(PROG)
# generation de l executable
$(PROG): $(addsuffix .o,$(PROG)) $(OBJS) $(LIBS)
#cd $(DIR_OBJ);$(F90) $(LDFLAGS) $(patsubst $(DIR_OBJ)/%,%,$^) -o $@ $(LIBV5D) $(LIBGRB)
cd $(DIR_OBJ);$(F90) $(LDFLAGS) $(patsubst $(DIR_OBJ)/%,%,$^) -o $@ $(LIBGRB)
@echo executable $@ disponible sous $(DIR_OBJ)
# gestion des versions
ifeq ($(strip $(VERSION)),)
$(LIBEXTRACT): $(OBJS)
cd $(DIR_OBJ) ; $(AR) rv $@ $(OBJS)
ls -l $(DIR_OBJ)/$@
else # string VERSION not empty
$(LIBEXTRACT): $(OBJS)
@echo '***' if libxxx_$(VERSION).a does not exist, cp libxxx.a libxxx_$(VERSION).a
ls -l $(DIR_OBJ)/$@
cd $(DIR_OBJ) ; $(AR) rv $@ $(OBJS)
ls -l $(DIR_OBJ)/$@
endif
# creation du repertoire contenant les objets
$(DIR_OBJ)/.dummy:
mkdir $(DIR_OBJ)
@touch $(DIR_OBJ)/.dummy
# cleaning
clean:
(if [ -d $(DIR_OBJ) ] ; then cd $(DIR_OBJ); rm $(PROG)* $(OBJS) $(addprefix cpp_,$(OBJS:.o=.f90)); fi)
distclean:
(if [ -d $(DIR_OBJ) ] ; then cd $(DIR_OBJ); rm * ; fi)
# regle de compilation
%.o:%.f90 $(DIR_OBJ)/.dummy
$(CPP) $(INC) $(CPPFLAGS) $< > $(DIR_OBJ)/cpp_$(*F).f90
$(F90) $(INC) -c $(F90FLAGS) $(DIR_OBJ)/cpp_$(*F).f90 -o $(DIR_OBJ)/$(*F).o
-@mv *.mod $(DIR_OBJ)/. 2>/dev/null || echo pas de module dans $*.f90
# dependances du programme principal
$(PROG).o: $(PROG).f90 change_a_grid.o hor_interp_4pts.o \
uv_to_zonal_and_merid.o zinter.o zmoy.o \
ini2lalo.o int2lalo.o writedir.o \
writevar.o writecdl.o writellhv.o writegrib.o writedir.o \
dd.o ff.o low2up.o modn_outfile.o
# dependances des routines
uv_to_zonal_and_merid.o: uv_to_zonal_and_merid.f90 shuman.o
writecdl.o: writecdl.f90 temporal_dist_for_ext.o from_computing_units.o
writevar.o: writevar.f90 modn_ncar.o modd_files_diachro.o from_computing_units.o
writellhv.o: writellhv.f90 from_computing_units.o
writegrib.o: writegrib.f90 from_computing_units.o modn_outfile.o
writedir.o: writedir.f90
change_a_grid.o: change_a_grid.f90 shuman.o
zmoy.o: zmoy.f90 zinter.o
temporal_dist_for_ext.o: temporal_dist_for_ext.f90
dd.o: dd.f90 computedir.o
computedir.o: computedir.f90
readvar.o: readvar.f90 verif_group.o to_computing_units.o modd_readlh.o
verif_group.o: verif_group.f90
modn_outfile.o: modn_outfile.f90 modd_conf.o
ini2lalo.o: ini2lalo.f90 modd_cst.o modd_parameters.o modd_grid.o modd_grid1.o
int2lalo.o: int2lalo.f90 modd_cst.o modd_parameters.o modd_dim1.o modd_grid1.o \
mode_gridproj.o
LIBX = -lX11
#LIBV5D = -L/usr/local/lib -lv5d
LIBGRB = $(EMOSLIB)
#############################################################################
CPPFLAGS += -DHPPA
F77FLAGS +=
ifeq ($(B),64)
F90FLAGS += -qautodbl=dbl4
endif
LDFLAGS +=
#
OBJS2 = caresolv.o
$(OBJS2) : F90FLAGS = -qfree=f90 -qsuffix=f=f90 -O2 -qmaxmem=-1
#
# Pas de diaprog sur IBM
#
PROGALL = conv2dia
#
#############################################################################
F77FLAGS = -q64 -qfixed -O3 -qstrict
F90FLAGS = -q64 -qfree=f90 -qsuffix=f=f90 -O3 -qstrict
LIBEXT = -lX11 -lm -lcl
#############################################################################
CPPFLAGS += -DLINUX -DNAGf95
F77FLAGS += -g -O0
F90FLAGS += -g -O0
ifeq ($(B),64)
F90FLAGS += -r8
endif
OBJS2=
LIBX = -lX11 -lm
LIBV5D =
# avec cette lib, fabs floor exp log sont Unsatisfied symbols...:
#LIBV5D = -L/users/mesonh/utilitaires/vis5d/vis5d-5.0/src -l v5d
# avec cette lib, v5dcreate v5dwrite v5dclose sont Unsatisfied symbols...:
#LIBV5D = -L $(MNH_LIBTOOLS)/lib/vis5d/$(ARCH) -lv5d
LIBGRB =
#############################################################################
CPPFLAGS += -DHPPA -DHP
F77FLAGS += -O2 +Oinfo +Olimit
ifeq ($(PROG),diaprog)
F90FLAGS += -O2 +Oinfo +Olimit
else
F90FLAGS += -O2 +Oinfo +Olimit +check=all
endif
ifeq ($(B),64)
F90FLAGS += +r8
endif
LDFLAGS +=
OBJS2 = shuman.o
$(OBJS2) : F90FLAGS += -O2 +Oinfo +Olimit
#LIBX = -L/usr/X11R6/lib -lX11 -lg2c
LIBX = -L/usr/X11R6/lib -lX11 /usr/lib64/libgfortran.so.1
LIBV5D = -L$(DIR_V5D)/$(ARCH) -lv5d
#LIBV5D = /usr/local/lib/libv5d.a
#LIBV5D = -L/mesonh/MAKE/lib/vis5d/LXNAGf95 -lv5d
LIBGRB = -L$(DIR_GRB) -lemosR64
#############################################################################
CPPFLAGS += -DLINUX -DNAGf95 -Dkey_swapio
F77FLAGS +=
#F90FLAGS = -kind=byte -w -gline -O2 -mismatch_all -target=pentium
#F90FLAGS = -kind=byte -w -gline -O2 -C -target=pentium
F90FLAGS = -kind=byte -w -gline -O2 -C -mismatch_all
ifeq ($(B),64)
#F90FLAGS += -r8
#F90FLAGS = -r8 -kind=byte -w -gline -O2 -mismatch_all -target=pentium
F90FLAGS = -r8 -kind=byte -w -gline -O2 -mismatch_all
endif
LDFLAGS += -Wl,-Xlinker,-noinhibit-exec -Wl,-Xlinker,-warn-once
#
#OBJS2 = image_fordiachro.o
#$(OBJS2) : F90FLAGS = -kind=byte -w -gline -O2
#LIBX = -L/usr/X11R6/lib64 -lX11 -lg2c
LIBX = -L/usr/X11R6/lib -lX11 /usr/lib64/libgfortran.so.1
#LIBV5D = /usr/local/lib/libv5d.a
#LIBV5D = -L/mesonh/MAKE/lib/vis5d/LXNAGf95 -lv5d
LIBGRB = -L$(DIR_GRIB) -lemosR64
#############################################################################
CPPFLAGS += -DLINUX -DG95 -Dkey_swapio
F77FLAGS +=
#F90FLAGS = -w -O2
F90FLAGS += -w -O2
ifeq ($(B),64)
F90FLAGS += -r8
endif
LDFLAGS += -Wl,-noinhibit-exec -Wl,-warn-once
#
#OBJS2 = image_fordiachro.o
#$(OBJS2) : F90FLAGS = -w -O2
#LIBX = -L/usr/X11R6/lib64 -lX11 -lg2c
LIBX = -L/usr/X11R6/lib -lX11 -lpng -lz
LIBX = -L/usr/X11R6/lib64 -lX11 -lpng -lz -lcairo -lfreetype
#LIBV5D = /usr/local/lib/libv5d.a
#LIBV5D = -L/mesonh/MAKE/lib/vis5d/LXgfortran -lv5d
LIBGRB = -L$(DIR_GRIB) -lgribex
#############################################################################
CPPFLAGS += -DLINUX -DNCL511 -Dkey_swapio
F77FLAGS +=
#F90FLAGS = -w -O2
F90FLAGS += -O2
ifeq ($(B),64)
F90FLAGS += -fdefault-real-8
endif
LDFLAGS += -Wl,-noinhibit-exec -Wl,-warn-once -static-libgfortran
#
#OBJS2 = image_fordiachro.o
#$(OBJS2) : F90FLAGS = -w -O2