source: LMDZ4/trunk/libf/phylmd/phyredem.F @ 996

Last change on this file since 996 was 996, checked in by lsce, 16 years ago
  • Modifications liées au calcul des nouveau sous-fractions
  • Nettoyage de ocean slab : il reste uniquement la version avec glace de mer forcé
  • Nouveaux variables pour distiguer la version et type d'ocean : type_ocean=force/slab/couple, version_ocean=opa8/nemo pour couplé ou version_ocean=sicOBS pour slab

JG

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 29.8 KB
Line 
1!
2! $Header$
3!
4c
5      SUBROUTINE phyredem (fichnom)
6
7      USE dimphy
8      USE mod_grid_phy_lmdz
9      USE mod_phys_lmdz_para
10      USE fonte_neige_mod,  ONLY : fonte_neige_final
11      USE pbl_surface_mod,  ONLY : pbl_surface_final
12      USE phys_state_var_mod
13
14      IMPLICIT none
15c======================================================================
16c Auteur(s) Z.X. Li (LMD/CNRS) date: 19930818
17c Objet: Ecriture de l'etat de redemarrage pour la physique
18c======================================================================
19#include "netcdf.inc"
20#include "indicesol.h"
21#include "dimsoil.h"
22#include "clesphys.h"
23#include "control.h"
24#include "temps.h"
25#include "thermcell.h"
26#include "compbl.h"
27c======================================================================
28      CHARACTER*(*) fichnom
29
30c les variables globales ecrites dans le fichier restart
31      REAL rlat_glo(klon_glo), rlon_glo(klon_glo)
32      REAL pctsrf_glo(klon_glo, nbsrf)
33      REAL tsol_glo(klon_glo,nbsrf)
34      REAL alb1_glo(klon_glo,nbsrf)
35      REAL alb2_glo(klon_glo,nbsrf)
36      REAL rain_fall_glo(klon_glo)
37      REAL snow_fall_glo(klon_glo)
38      real solsw_glo(klon_glo)
39      real sollw_glo(klon_glo)
40      REAL radsol_glo(klon_glo)
41      REAL zmea_glo(klon_glo)
42      REAL zstd_glo(klon_glo)
43      REAL zsig_glo(klon_glo)
44      REAL zgam_glo(klon_glo)
45      REAL zthe_glo(klon_glo)
46      REAL zpic_glo(klon_glo)
47      REAL zval_glo(klon_glo)
48      REAL rugsrel_glo(klon_glo)
49      REAL t_ancien_glo(klon_glo,klev), q_ancien_glo(klon_glo,klev)
50      REAL clwcon_glo(klon_glo,klev)
51      REAL rnebcon_glo(klon_glo,klev)
52      REAL ratqs_glo(klon_glo,klev)
53      REAL pbl_tke_glo(klon_glo,klev+1,nbsrf)
54      REAL zmax0_glo(klon_glo), f0_glo(klon)
55      REAL ema_work1_glo(klon_glo, klev), ema_work2_glo(klon_glo, klev)
56      REAL wake_deltat_glo(klon_glo,klev),wake_deltaq_glo(klon_glo,klev)
57      REAL wake_s_glo(klon_glo), wake_cstar_glo(klon_glo)
58      REAL wake_fip_glo(klon_glo)
59
60      REAL tsoil_p(klon,nsoilmx,nbsrf)
61      REAL qsurf_p(klon,nbsrf)
62      REAL qsol_p(klon)
63      REAL snow_p(klon,nbsrf)
64      REAL evap_p(klon,nbsrf)
65      real fder_p(klon)
66      REAL frugs_p(klon,nbsrf)
67      REAL agesno_p(klon,nbsrf)
68      REAL run_off_lic_0_p(klon)
69     
70      REAL tsoil(klon_glo,nsoilmx,nbsrf)
71      REAL qsurf(klon_glo,nbsrf)
72      REAL qsol(klon_glo)
73      REAL snow(klon_glo,nbsrf)
74      REAL evap(klon_glo,nbsrf)
75      real fder(klon_glo)
76      REAL frugs(klon_glo,nbsrf)
77      REAL agesno(klon_glo,nbsrf)
78      REAL run_off_lic_0(klon_glo)
79      REAL masq(klon_glo)
80c
81      INTEGER nid, nvarid, idim1, idim2, idim3
82      INTEGER ierr
83      INTEGER length
84      PARAMETER (length=100)
85      REAL tab_cntrl(length)
86c
87      INTEGER isoil, nsrf
88      CHARACTER (len=7) :: str7
89      CHARACTER (len=2) :: str2
90
91c======================================================================
92c
93c Get variables which will be written to restart file from module
94c pbl_surface_mod
95      CALL pbl_surface_final(qsol_p, fder_p, snow_p, qsurf_p,
96     $     evap_p, frugs_p, agesno_p, tsoil_p)
97
98c Get a variable calculated in module fonte_neige_mod
99      CALL fonte_neige_final(run_off_lic_0_p)
100
101c======================================================================
102
103      call Gather( rlat,rlat_glo)
104      call Gather( rlon,rlon_glo)
105      call Gather( pctsrf,pctsrf_glo)
106      call Gather( ftsol,tsol_glo)
107      call Gather( falb1,alb1_glo)
108      call Gather( falb2,alb2_glo)
109      call Gather( rain_fall,rain_fall_glo)
110      call Gather( snow_fall,snow_fall_glo)
111      call Gather( sollw,sollw_glo)
112      call Gather( solsw,solsw_glo)
113      call Gather( radsol,radsol_glo)
114      call Gather( zmea,zmea_glo)
115      call Gather( zstd,zstd_glo)
116      call Gather( zsig,zsig_glo)
117      call Gather( zgam,zgam_glo)
118      call Gather( zthe,zthe_glo)
119      call Gather( zpic,zpic_glo)
120      call Gather( zval,zval_glo)
121      call Gather( rugoro,rugsrel_glo)
122      call Gather( t_ancien,t_ancien_glo)
123      call Gather( q_ancien,q_ancien_glo)
124      call Gather( clwcon,clwcon_glo)
125      call Gather( rnebcon,rnebcon_glo)
126      call Gather( ratqs,ratqs_glo)
127      call Gather( pbl_tke,pbl_tke_glo)
128      call Gather( zmax0,zmax0_glo)
129      call Gather( f0,f0_glo)
130      call Gather( ema_work1, ema_work1_glo)
131      call Gather( ema_work2, ema_work2_glo)
132      call Gather( wake_deltat, wake_deltat_glo)
133      call Gather( wake_deltaq, wake_deltaq_glo)
134      call Gather( wake_s, wake_s_glo)
135      call Gather( wake_cstar, wake_cstar_glo)
136      call Gather( wake_fip, wake_fip_glo)
137
138      call Gather( tsoil_p,tsoil)
139      call Gather( qsurf_p,qsurf)
140      call Gather( qsol_p,qsol)
141      call Gather( snow_p,snow)
142      call Gather( evap_p,evap)
143      call Gather( fder_p,fder)
144      call Gather( frugs_p,frugs)
145      call Gather( agesno_p,agesno)
146      call Gather( run_off_lic_0_p,run_off_lic_0)
147      call Gather( zmasq,masq)
148     
149c$OMP MASTER
150      IF (is_mpi_root) THEN
151     
152      ierr = NF_CREATE(fichnom, NF_CLOBBER, nid)
153      IF (ierr.NE.NF_NOERR) THEN
154        write(6,*)' Pb d''ouverture du fichier '//fichnom
155        write(6,*)' ierr = ', ierr
156        CALL ABORT
157      ENDIF
158c
159      ierr = NF_PUT_ATT_TEXT (nid, NF_GLOBAL, "title", 28,
160     .                       "Fichier redemmarage physique")
161c
162      ierr = NF_DEF_DIM (nid, "index", length, idim1)
163      ierr = NF_DEF_DIM (nid, "points_physiques", klon_glo, idim2)
164      ierr = NF_DEF_DIM (nid, "horizon_vertical", klon_glo*klev, idim3)
165c
166      ierr = NF_ENDDEF(nid)
167c
168      DO ierr = 1, length
169         tab_cntrl(ierr) = 0.0
170      ENDDO
171      tab_cntrl(1) = dtime
172      tab_cntrl(2) = radpas
173      tab_cntrl(3) = co2_ppm
174      tab_cntrl(4) = solaire
175      tab_cntrl(5) = iflag_con
176      tab_cntrl(6) = nbapp_rad
177
178      IF( cycle_diurne ) tab_cntrl( 7 ) = 1.
179      IF(   soil_model ) tab_cntrl( 8 ) = 1.
180      IF(     new_oliq ) tab_cntrl( 9 ) = 1.
181      IF(     ok_orodr ) tab_cntrl(10 ) = 1.
182      IF(     ok_orolf ) tab_cntrl(11 ) = 1.
183
184      tab_cntrl(13) = day_end
185      tab_cntrl(14) = annee_ref
186      tab_cntrl(15) = itau_phy
187c
188      ierr = NF_REDEF (nid)
189#ifdef NC_DOUBLE
190      ierr = NF_DEF_VAR (nid, "controle", NF_DOUBLE, 1, idim1,nvarid)
191#else
192      ierr = NF_DEF_VAR (nid, "controle", NF_FLOAT, 1, idim1,nvarid)
193#endif
194      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 22,
195     .                        "Parametres de controle")
196      ierr = NF_ENDDEF(nid)
197#ifdef NC_DOUBLE
198      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,tab_cntrl)
199#else
200      ierr = NF_PUT_VAR_REAL (nid,nvarid,tab_cntrl)
201#endif
202c
203      ierr = NF_REDEF (nid)
204#ifdef NC_DOUBLE
205      ierr = NF_DEF_VAR (nid, "longitude", NF_DOUBLE, 1, idim2,nvarid)
206#else
207      ierr = NF_DEF_VAR (nid, "longitude", NF_FLOAT, 1, idim2,nvarid)
208#endif
209      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 32,
210     .                        "Longitudes de la grille physique")
211      ierr = NF_ENDDEF(nid)
212#ifdef NC_DOUBLE
213      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,rlon_glo)
214#else
215      ierr = NF_PUT_VAR_REAL (nid,nvarid,rlon_glo)
216#endif
217c
218      ierr = NF_REDEF (nid)
219#ifdef NC_DOUBLE
220      ierr = NF_DEF_VAR (nid, "latitude", NF_DOUBLE, 1, idim2,nvarid)
221#else
222      ierr = NF_DEF_VAR (nid, "latitude", NF_FLOAT, 1, idim2,nvarid)
223#endif
224      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 31,
225     .                        "Latitudes de la grille physique")
226      ierr = NF_ENDDEF(nid)
227#ifdef NC_DOUBLE
228      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,rlat_glo)
229#else
230      ierr = NF_PUT_VAR_REAL (nid,nvarid,rlat_glo)
231#endif
232c
233C PB ajout du masque terre/mer
234C
235      ierr = NF_REDEF (nid)
236#ifdef NC_DOUBLE
237      ierr = NF_DEF_VAR (nid, "masque", NF_DOUBLE, 1, idim2,nvarid)
238#else
239      ierr = NF_DEF_VAR (nid, "masque", NF_FLOAT, 1, idim2,nvarid)
240#endif
241      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 16,
242     .                        "masque terre mer")
243      ierr = NF_ENDDEF(nid)
244#ifdef NC_DOUBLE
245      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,masq)
246#else
247      ierr = NF_PUT_VAR_REAL (nid,nvarid,masq)
248#endif     
249c BP ajout des fraction de chaque sous-surface
250C
251C 1. fraction de terre
252C
253      ierr = NF_REDEF (nid)
254#ifdef NC_DOUBLE
255      ierr = NF_DEF_VAR (nid, "FTER", NF_DOUBLE, 1, idim2,nvarid)
256#else
257      ierr = NF_DEF_VAR (nid, "FTER", NF_FLOAT, 1, idim2,nvarid)
258#endif
259      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21,
260     .                        "fraction de continent")
261      ierr = NF_ENDDEF(nid)
262#ifdef NC_DOUBLE
263      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf_glo(1 : klon_glo,     &
264     &   is_ter))
265#else
266      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf_glo(1 : klon_glo,       &
267     &    is_ter))
268#endif
269C
270C 2. Fraction de glace de terre
271C
272      ierr = NF_REDEF (nid)
273#ifdef NC_DOUBLE
274      ierr = NF_DEF_VAR (nid, "FLIC", NF_DOUBLE, 1, idim2,nvarid)
275#else
276      ierr = NF_DEF_VAR (nid, "FLIC", NF_FLOAT, 1, idim2,nvarid)
277#endif
278      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 24,
279     .                        "fraction glace de terre")
280      ierr = NF_ENDDEF(nid)
281#ifdef NC_DOUBLE
282      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf_glo(1 : klon_glo,
283     &                          is_lic))
284#else
285      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf_glo(1 : klon_glo,
286     &                        is_lic))
287#endif
288C
289C 3. fraction ocean
290C
291      ierr = NF_REDEF (nid)
292#ifdef NC_DOUBLE
293      ierr = NF_DEF_VAR (nid, "FOCE", NF_DOUBLE, 1, idim2,nvarid)
294#else
295      ierr = NF_DEF_VAR (nid, "FOCE", NF_FLOAT, 1, idim2,nvarid)
296#endif
297      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 14,
298     .                        "fraction ocean")
299      ierr = NF_ENDDEF(nid)
300#ifdef NC_DOUBLE
301      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf_glo(1 : klon_glo,
302     &                          is_oce))
303#else
304      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf_glo(1 : klon_glo,
305     &                        is_oce))
306#endif
307C
308C 4. Fraction glace de mer
309C
310      ierr = NF_REDEF (nid)
311#ifdef NC_DOUBLE
312      ierr = NF_DEF_VAR (nid, "FSIC", NF_DOUBLE, 1, idim2,nvarid)
313#else
314      ierr = NF_DEF_VAR (nid, "FSIC", NF_FLOAT, 1, idim2,nvarid)
315#endif
316      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 18,
317     .                        "fraction glace mer")
318      ierr = NF_ENDDEF(nid)
319#ifdef NC_DOUBLE
320      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pctsrf_glo(1 : klon_glo,
321     &                          is_sic))
322#else
323      ierr = NF_PUT_VAR_REAL (nid,nvarid,pctsrf_glo(1 : klon_glo,
324     &                         is_sic))
325#endif
326C
327C
328c
329      DO nsrf = 1, nbsrf
330        IF (nsrf.LE.99) THEN
331        WRITE(str2,'(i2.2)') nsrf
332        ierr = NF_REDEF (nid)
333#ifdef NC_DOUBLE
334        ierr = NF_DEF_VAR (nid, "TS"//str2, NF_DOUBLE, 1, idim2,nvarid)
335#else
336        ierr = NF_DEF_VAR (nid, "TS"//str2, NF_FLOAT, 1, idim2,nvarid)
337#endif
338        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
339     .                        "Temperature de surface No."//str2)
340        ierr = NF_ENDDEF(nid)
341        ELSE
342        PRINT*, "Trop de sous-mailles"
343        CALL abort
344        ENDIF
345#ifdef NC_DOUBLE
346        ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,tsol_glo(1,nsrf))
347#else
348        ierr = NF_PUT_VAR_REAL (nid,nvarid,tsol_glo(1,nsrf))
349#endif
350      ENDDO
351c
352      DO nsrf = 1, nbsrf
353      DO isoil=1, nsoilmx
354        IF (isoil.LE.99 .AND. nsrf.LE.99) THEN
355        WRITE(str7,'(i2.2,"srf",i2.2)') isoil,nsrf
356        ierr = NF_REDEF (nid)
357#ifdef NC_DOUBLE
358        ierr = NF_DEF_VAR (nid, "Tsoil"//str7,NF_DOUBLE,1,idim2,nvarid)
359#else
360        ierr = NF_DEF_VAR (nid, "Tsoil"//str7,NF_FLOAT,1,idim2,nvarid)
361#endif
362        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 29,
363     .                        "Temperature du sol No."//str7)
364        ierr = NF_ENDDEF(nid)
365        ELSE
366        PRINT*, "Trop de couches"
367        CALL abort
368        ENDIF
369#ifdef NC_DOUBLE
370        ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,tsoil(1,isoil,nsrf))
371#else
372        ierr = NF_PUT_VAR_REAL (nid,nvarid,tsoil(1,isoil,nsrf))
373#endif
374      ENDDO
375      ENDDO
376c
377      DO nsrf = 1, nbsrf
378        IF (nsrf.LE.99) THEN
379        WRITE(str2,'(i2.2)') nsrf
380        ierr = NF_REDEF (nid)
381#ifdef NC_DOUBLE
382        ierr = NF_DEF_VAR (nid,"QS"//str2,NF_DOUBLE,1,idim2,nvarid)
383#else
384        ierr = NF_DEF_VAR (nid,"QS"//str2,NF_FLOAT,1,idim2,nvarid)
385#endif
386        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 25,
387     .                        "Humidite de surface No."//str2)
388        ierr = NF_ENDDEF(nid)
389        ELSE
390        PRINT*, "Trop de sous-mailles"
391        CALL abort
392        ENDIF
393#ifdef NC_DOUBLE
394      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,qsurf(1,nsrf))
395#else
396      ierr = NF_PUT_VAR_REAL (nid,nvarid,qsurf(1,nsrf))
397#endif
398      END DO
399C
400      ierr = NF_REDEF (nid)
401#ifdef NC_DOUBLE
402      ierr = NF_DEF_VAR (nid,"QSOL",NF_DOUBLE,1,idim2,nvarid)
403#else
404      ierr = NF_DEF_VAR (nid,"QSOL",NF_FLOAT,1,idim2,nvarid)
405#endif
406      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 20,
407     .    "Eau dans le sol (mm)")
408      ierr = NF_ENDDEF(nid)
409#ifdef NC_DOUBLE
410      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,qsol)
411#else
412      ierr = NF_PUT_VAR_REAL (nid,nvarid,qsol)
413#endif
414c
415      DO nsrf = 1, nbsrf
416        IF (nsrf.LE.99) THEN
417        WRITE(str2,'(i2.2)') nsrf
418        ierr = NF_REDEF (nid)
419#ifdef NC_DOUBLE
420        ierr = NF_DEF_VAR (nid,"ALBE"//str2,NF_DOUBLE,1,idim2,nvarid)
421#else
422        ierr = NF_DEF_VAR (nid,"ALBE"//str2,NF_FLOAT,1,idim2,nvarid)
423#endif
424        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 23,
425     .                        "albedo de surface No."//str2)
426        ierr = NF_ENDDEF(nid)
427        ELSE
428        PRINT*, "Trop de sous-mailles"
429        CALL abort
430        ENDIF
431#ifdef NC_DOUBLE
432      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,alb1_glo(1,nsrf))
433#else
434      ierr = NF_PUT_VAR_REAL (nid,nvarid,alb1_glo(1,nsrf))
435#endif
436      ENDDO
437
438        DO nsrf = 1, nbsrf
439        IF (nsrf.LE.99) THEN
440        WRITE(str2,'(i2.2)') nsrf
441        ierr = NF_REDEF (nid)
442#ifdef NC_DOUBLE
443        ierr = NF_DEF_VAR (nid,"ALBLW"//str2,NF_DOUBLE,1,idim2,nvarid)
444#else
445        ierr = NF_DEF_VAR (nid,"ALBLW"//str2,NF_FLOAT,1,idim2,nvarid)
446#endif
447        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 23,
448     .                        "albedo LW de surface No."//str2)
449        ierr = NF_ENDDEF(nid)
450        ELSE
451        PRINT*, "Trop de sous-mailles"
452        CALL abort
453        ENDIF
454#ifdef NC_DOUBLE
455      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,alb2_glo(1,nsrf))
456#else
457      ierr = NF_PUT_VAR_REAL (nid,nvarid,alb2_glo(1,nsrf))
458#endif
459      ENDDO
460c
461c
462      DO nsrf = 1, nbsrf
463        IF (nsrf.LE.99) THEN
464        WRITE(str2,'(i2.2)') nsrf
465        ierr = NF_REDEF (nid)
466#ifdef NC_DOUBLE
467        ierr = NF_DEF_VAR (nid,"EVAP"//str2,NF_DOUBLE,1,idim2,nvarid)
468#else
469        ierr = NF_DEF_VAR (nid,"EVAP"//str2,NF_FLOAT,1,idim2,nvarid)
470#endif
471        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
472     .                        "Evaporation de surface No."//str2)
473        ierr = NF_ENDDEF(nid)
474        ELSE
475        PRINT*, "Trop de sous-mailles"
476        CALL abort
477        ENDIF
478#ifdef NC_DOUBLE
479      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,evap(1,nsrf))
480#else
481      ierr = NF_PUT_VAR_REAL (nid,nvarid,evap(1,nsrf))
482#endif
483      ENDDO
484
485c
486      DO nsrf = 1, nbsrf
487        IF (nsrf.LE.99) THEN
488        WRITE(str2,'(i2.2)') nsrf
489        ierr = NF_REDEF (nid)
490#ifdef NC_DOUBLE
491        ierr = NF_DEF_VAR (nid,"SNOW"//str2,NF_DOUBLE,1,idim2,nvarid)
492#else
493        ierr = NF_DEF_VAR (nid,"SNOW"//str2,NF_FLOAT,1,idim2,nvarid)
494#endif
495        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 22,
496     .                        "Neige de surface No."//str2)
497        ierr = NF_ENDDEF(nid)
498        ELSE
499        PRINT*, "Trop de sous-mailles"
500        CALL abort
501        ENDIF
502#ifdef NC_DOUBLE
503      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,snow(1,nsrf))
504#else
505      ierr = NF_PUT_VAR_REAL (nid,nvarid,snow(1,nsrf))
506#endif
507      ENDDO
508
509c
510      ierr = NF_REDEF (nid)
511#ifdef NC_DOUBLE
512      ierr = NF_DEF_VAR (nid, "RADS", NF_DOUBLE, 1, idim2,nvarid)
513#else
514      ierr = NF_DEF_VAR (nid, "RADS", NF_FLOAT, 1, idim2,nvarid)
515#endif
516      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
517     .                        "Rayonnement net a la surface")
518      ierr = NF_ENDDEF(nid)
519#ifdef NC_DOUBLE
520      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,radsol_glo)
521#else
522      ierr = NF_PUT_VAR_REAL (nid,nvarid,radsol_glo)
523#endif
524c
525      ierr = NF_REDEF (nid)
526#ifdef NC_DOUBLE
527      ierr = NF_DEF_VAR (nid, "solsw", NF_DOUBLE, 1, idim2,nvarid)
528#else
529      ierr = NF_DEF_VAR (nid, "solsw", NF_FLOAT, 1, idim2,nvarid)
530#endif
531      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 32,
532     .                        "Rayonnement solaire a la surface")
533      ierr = NF_ENDDEF(nid)
534#ifdef NC_DOUBLE
535      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,solsw_glo)
536#else
537      ierr = NF_PUT_VAR_REAL (nid,nvarid,solsw_glo)
538#endif
539c
540      ierr = NF_REDEF (nid)
541#ifdef NC_DOUBLE
542      ierr = NF_DEF_VAR (nid, "sollw", NF_DOUBLE, 1, idim2,nvarid)
543#else
544      ierr = NF_DEF_VAR (nid, "sollw", NF_FLOAT, 1, idim2,nvarid)
545#endif
546      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 27,
547     .                        "Rayonnement IF a la surface")
548      ierr = NF_ENDDEF(nid)
549#ifdef NC_DOUBLE
550      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,sollw_glo)
551#else
552      ierr = NF_PUT_VAR_REAL (nid,nvarid,sollw_glo)
553#endif
554c
555      ierr = NF_REDEF (nid)
556#ifdef NC_DOUBLE
557      ierr = NF_DEF_VAR (nid, "fder", NF_DOUBLE, 1, idim2,nvarid)
558#else
559      ierr = NF_DEF_VAR (nid, "fder", NF_FLOAT, 1, idim2,nvarid)
560#endif
561      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 14,
562     .                        "Derive de flux")
563      ierr = NF_ENDDEF(nid)
564#ifdef NC_DOUBLE
565      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,fder)
566#else
567      ierr = NF_PUT_VAR_REAL (nid,nvarid,fder)
568#endif
569c
570      ierr = NF_REDEF (nid)
571#ifdef NC_DOUBLE
572      ierr = NF_DEF_VAR (nid, "rain_f", NF_DOUBLE, 1, idim2,nvarid)
573#else
574      ierr = NF_DEF_VAR (nid, "rain_f", NF_FLOAT, 1, idim2,nvarid)
575#endif
576      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 21,
577     .                        "precipitation liquide")
578      ierr = NF_ENDDEF(nid)
579#ifdef NC_DOUBLE
580      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,rain_fall_glo)
581#else
582      ierr = NF_PUT_VAR_REAL (nid,nvarid,rain_fall_glo)
583#endif
584c
585      ierr = NF_REDEF (nid)
586#ifdef NC_DOUBLE
587      ierr = NF_DEF_VAR (nid, "snow_f", NF_DOUBLE, 1, idim2,nvarid)
588#else
589      ierr = NF_DEF_VAR (nid, "snow_f", NF_FLOAT, 1, idim2,nvarid)
590#endif
591      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 20,
592     .                        "precipitation solide")
593      ierr = NF_ENDDEF(nid)
594#ifdef NC_DOUBLE
595      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,snow_fall_glo)
596#else
597      ierr = NF_PUT_VAR_REAL (nid,nvarid,snow_fall_glo)
598#endif
599c
600       endif
601c$OMP END MASTER
602cc ----> necessaire pour eviter bug openMP sur SX6
603c$OMP MASTER
604      if (is_mpi_root) then
605      DO nsrf = 1, nbsrf
606        IF (nsrf.LE.99) THEN
607        WRITE(str2,'(i2.2)') nsrf
608        ierr = NF_REDEF (nid)
609#ifdef NC_DOUBLE
610        ierr = NF_DEF_VAR (nid,"RUG"//str2,NF_DOUBLE,1,idim2,nvarid)
611#else
612        ierr = NF_DEF_VAR (nid,"RUG"//str2,NF_FLOAT,1,idim2,nvarid)
613#endif
614        ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 23,
615     .                        "rugosite de surface No."//str2)
616        ierr = NF_ENDDEF(nid)
617        ELSE
618        PRINT*, "Trop de sous-mailles"
619        CALL abort
620        ENDIF
621#ifdef NC_DOUBLE
622      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,frugs(1,nsrf))
623#else
624      ierr = NF_PUT_VAR_REAL (nid,nvarid,frugs(1,nsrf))
625#endif
626      ENDDO
627c
628      DO nsrf = 1, nbsrf
629        IF (nsrf.LE.99) THEN
630            WRITE(str2,'(i2.2)') nsrf
631            ierr = NF_REDEF (nid)
632#ifdef NC_DOUBLE
633            ierr = NF_DEF_VAR (nid,"AGESNO"//str2,NF_DOUBLE,1,idim2
634     $          ,nvarid)
635#else
636            ierr = NF_DEF_VAR (nid,"AGESNO"//str2,NF_FLOAT,1,idim2
637     $          ,nvarid)
638#endif
639            ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 15,
640     .                        "Age de la neige surface No."//str2)
641            ierr = NF_ENDDEF(nid)
642        ELSE
643            PRINT*, "Trop de sous-mailles"
644            CALL abort
645        ENDIF
646#ifdef NC_DOUBLE
647        ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,agesno(1,nsrf))
648#else
649      ierr = NF_PUT_VAR_REAL (nid,nvarid,agesno(1,nsrf))
650#endif
651      ENDDO
652c
653      ierr = NF_REDEF (nid)
654#ifdef NC_DOUBLE
655      ierr = NF_DEF_VAR (nid, "ZMEA", NF_DOUBLE, 1, idim2,nvarid)
656#else
657      ierr = NF_DEF_VAR (nid, "ZMEA", NF_FLOAT, 1, idim2,nvarid)
658#endif
659      ierr = NF_ENDDEF(nid)
660#ifdef NC_DOUBLE
661      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zmea_glo)
662#else
663      ierr = NF_PUT_VAR_REAL (nid,nvarid,zmea_glo)
664#endif
665c
666      ierr = NF_REDEF (nid)
667#ifdef NC_DOUBLE
668      ierr = NF_DEF_VAR (nid, "ZSTD", NF_DOUBLE, 1, idim2,nvarid)
669#else
670      ierr = NF_DEF_VAR (nid, "ZSTD", NF_FLOAT, 1, idim2,nvarid)
671#endif
672      ierr = NF_ENDDEF(nid)
673#ifdef NC_DOUBLE
674      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zstd_glo)
675#else
676      ierr = NF_PUT_VAR_REAL (nid,nvarid,zstd_glo)
677#endif
678      ierr = NF_REDEF (nid)
679#ifdef NC_DOUBLE
680      ierr = NF_DEF_VAR (nid, "ZSIG", NF_DOUBLE, 1, idim2,nvarid)
681#else
682      ierr = NF_DEF_VAR (nid, "ZSIG", NF_FLOAT, 1, idim2,nvarid)
683#endif
684      ierr = NF_ENDDEF(nid)
685#ifdef NC_DOUBLE
686      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zsig_glo)
687#else
688      ierr = NF_PUT_VAR_REAL (nid,nvarid,zsig_glo)
689#endif
690      ierr = NF_REDEF (nid)
691#ifdef NC_DOUBLE
692      ierr = NF_DEF_VAR (nid, "ZGAM", NF_DOUBLE, 1, idim2,nvarid)
693#else
694      ierr = NF_DEF_VAR (nid, "ZGAM", NF_FLOAT, 1, idim2,nvarid)
695#endif
696      ierr = NF_ENDDEF(nid)
697#ifdef NC_DOUBLE
698      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zgam_glo)
699#else
700      ierr = NF_PUT_VAR_REAL (nid,nvarid,zgam_glo)
701#endif
702      ierr = NF_REDEF (nid)
703#ifdef NC_DOUBLE
704      ierr = NF_DEF_VAR (nid, "ZTHE", NF_DOUBLE, 1, idim2,nvarid)
705#else
706      ierr = NF_DEF_VAR (nid, "ZTHE", NF_FLOAT, 1, idim2,nvarid)
707#endif
708      ierr = NF_ENDDEF(nid)
709#ifdef NC_DOUBLE
710      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zthe_glo)
711#else
712      ierr = NF_PUT_VAR_REAL (nid,nvarid,zthe_glo)
713#endif
714      ierr = NF_REDEF (nid)
715#ifdef NC_DOUBLE
716      ierr = NF_DEF_VAR (nid, "ZPIC", NF_DOUBLE, 1, idim2,nvarid)
717#else
718      ierr = NF_DEF_VAR (nid, "ZPIC", NF_FLOAT, 1, idim2,nvarid)
719#endif
720      ierr = NF_ENDDEF(nid)
721#ifdef NC_DOUBLE
722      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zpic_glo)
723#else
724      ierr = NF_PUT_VAR_REAL (nid,nvarid,zpic_glo)
725#endif
726      ierr = NF_REDEF (nid)
727#ifdef NC_DOUBLE
728      ierr = NF_DEF_VAR (nid, "ZVAL", NF_DOUBLE, 1, idim2,nvarid)
729#else
730      ierr = NF_DEF_VAR (nid, "ZVAL", NF_FLOAT, 1, idim2,nvarid)
731#endif
732      ierr = NF_ENDDEF(nid)
733#ifdef NC_DOUBLE
734      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zval_glo)
735#else
736      ierr = NF_PUT_VAR_REAL (nid,nvarid,zval_glo)
737#endif
738      ierr = NF_REDEF (nid)
739#ifdef NC_DOUBLE
740      ierr = NF_DEF_VAR (nid, "RUGSREL", NF_DOUBLE, 1, idim2,nvarid)
741#else
742      ierr = NF_DEF_VAR (nid, "RUGSREL", NF_FLOAT, 1, idim2,nvarid)
743#endif
744      ierr = NF_ENDDEF(nid)
745#ifdef NC_DOUBLE
746      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,rugsrel_glo)
747#else
748      ierr = NF_PUT_VAR_REAL (nid,nvarid,rugsrel_glo)
749#endif
750c
751      ierr = NF_REDEF (nid)
752#ifdef NC_DOUBLE
753      ierr = NF_DEF_VAR (nid, "TANCIEN", NF_DOUBLE, 1, idim3,nvarid)
754#else
755      ierr = NF_DEF_VAR (nid, "TANCIEN", NF_FLOAT, 1, idim3,nvarid)
756#endif
757      ierr = NF_ENDDEF(nid)
758#ifdef NC_DOUBLE
759      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,t_ancien_glo)
760#else
761      ierr = NF_PUT_VAR_REAL (nid,nvarid,t_ancien_glo)
762#endif
763c
764      ierr = NF_REDEF (nid)
765#ifdef NC_DOUBLE
766      ierr = NF_DEF_VAR (nid, "QANCIEN", NF_DOUBLE, 1, idim3,nvarid)
767#else
768      ierr = NF_DEF_VAR (nid, "QANCIEN", NF_FLOAT, 1, idim3,nvarid)
769#endif
770      ierr = NF_ENDDEF(nid)
771#ifdef NC_DOUBLE
772      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,q_ancien_glo)
773#else
774      ierr = NF_PUT_VAR_REAL (nid,nvarid,q_ancien_glo)
775#endif
776c
777      ierr = NF_REDEF (nid)
778#ifdef NC_DOUBLE
779      ierr = NF_DEF_VAR (nid, "RUGMER", NF_DOUBLE, 1, idim2,nvarid)
780#else
781      ierr = NF_DEF_VAR (nid, "RUGMER", NF_FLOAT, 1, idim2,nvarid)
782#endif
783      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
784     .                        "Longueur de rugosite sur mer")
785      ierr = NF_ENDDEF(nid)
786#ifdef NC_DOUBLE
787      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,frugs(1,is_oce))
788#else
789      ierr = NF_PUT_VAR_REAL (nid,nvarid,frugs(1,is_oce))
790#endif
791c
792      ierr = NF_REDEF (nid)
793#ifdef NC_DOUBLE
794      ierr = NF_DEF_VAR (nid, "CLWCON", NF_DOUBLE, 1, idim2,nvarid)
795#else
796      ierr = NF_DEF_VAR (nid, "CLWCON", NF_FLOAT, 1, idim2,nvarid)
797#endif
798      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
799     .                        "Eau liquide convective")
800      ierr = NF_ENDDEF(nid)
801#ifdef NC_DOUBLE
802      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,clwcon_glo)
803#else
804      ierr = NF_PUT_VAR_REAL (nid,nvarid,clwcon_glo)
805#endif
806c
807      ierr = NF_REDEF (nid)
808#ifdef NC_DOUBLE
809      ierr = NF_DEF_VAR (nid, "RNEBCON", NF_DOUBLE, 1, idim2,nvarid)
810#else
811      ierr = NF_DEF_VAR (nid, "RNEBCON", NF_FLOAT, 1, idim2,nvarid)
812#endif
813      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
814     .                        "Nebulosite convective")
815      ierr = NF_ENDDEF(nid)
816#ifdef NC_DOUBLE
817      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,rnebcon_glo)
818#else
819      ierr = NF_PUT_VAR_REAL (nid,nvarid,rnebcon_glo)
820#endif
821c
822      ierr = NF_REDEF (nid)
823#ifdef NC_DOUBLE
824      ierr = NF_DEF_VAR (nid, "RATQS", NF_DOUBLE, 1, idim2,nvarid)
825#else
826      ierr = NF_DEF_VAR (nid, "RATQS", NF_FLOAT, 1, idim2,nvarid)
827#endif
828      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 28,
829     .                        "Ratqs")
830      ierr = NF_ENDDEF(nid)
831#ifdef NC_DOUBLE
832      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,ratqs_glo)
833#else
834      ierr = NF_PUT_VAR_REAL (nid,nvarid,ratqs_glo)
835#endif
836c
837c run_off_lic_0
838c
839      ierr = NF_REDEF (nid)
840#ifdef NC_DOUBLE
841      ierr=NF_DEF_VAR(nid,"RUNOFFLIC0",NF_DOUBLE,1,idim2,nvarid)
842#else
843      ierr=NF_DEF_VAR(nid,"RUNOFFLIC0",NF_FLOAT, 1,idim2,nvarid)
844#endif
845      ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 10,
846     .                        "Runofflic0")
847      ierr = NF_ENDDEF(nid)
848#ifdef NC_DOUBLE
849      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,run_off_lic_0)
850#else
851      ierr = NF_PUT_VAR_REAL (nid,nvarid,run_off_lic_0)
852#endif
853c
854c
855!!!!!!!!!!!!!!!!!!!! DEB TKE PBL !!!!!!!!!!!!!!!!!!!!!!!!!
856c
857      IF (iflag_pbl>1) then
858      DO nsrf = 1, nbsrf
859        IF (nsrf.LE.99) THEN
860            WRITE(str2,'(i2.2)') nsrf
861            ierr = NF_REDEF (nid)
862#ifdef NC_DOUBLE
863            ierr = NF_DEF_VAR (nid,"TKE"//str2,NF_DOUBLE,1,idim3
864     $          ,nvarid)
865#else
866            ierr = NF_DEF_VAR (nid,"TKE"//str2,NF_FLOAT,1,idim3
867     $          ,nvarid)
868#endif
869            ierr = NF_PUT_ATT_TEXT (nid,nvarid,"title", 15,
870     .                        "Energ. Cineti. Turb."//str2)
871            ierr = NF_ENDDEF(nid)
872        ELSE
873            PRINT*, "Trop de sous-mailles"
874            CALL abort
875        ENDIF
876#ifdef NC_DOUBLE
877        ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,pbl_tke_glo(:,:,nsrf))
878#else
879      ierr = NF_PUT_VAR_REAL (nid,nvarid,pbl_tke_glo(:,:,nsrf))
880#endif
881      ENDDO
882      ENDIF
883
884!!!!!!!!!!!!!!!!!!!! FIN TKE PBL !!!!!!!!!!!!!!!!!!!!!!!!!
885cIM ajout zmax0, f0, ema_work1, ema_work2
886cIM wake_deltat, wake_deltaq, wake_s, wake_cstar, wake_fip
887      ierr = NF_REDEF (nid)
888#ifdef NC_DOUBLE
889      ierr = NF_DEF_VAR (nid, "ZMAX0", NF_DOUBLE, 1, idim2,nvarid)
890#else
891      ierr = NF_DEF_VAR (nid, "ZMAX0", NF_FLOAT, 1, idim2,nvarid)
892#endif
893      ierr = NF_ENDDEF(nid)
894#ifdef NC_DOUBLE
895      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,zmax0_glo)
896#else
897      ierr = NF_PUT_VAR_REAL (nid,nvarid,zmax0_glo)
898#endif
899c
900      ierr = NF_REDEF (nid)
901#ifdef NC_DOUBLE
902      ierr = NF_DEF_VAR (nid, "F0", NF_DOUBLE, 1, idim2,nvarid)
903#else
904      ierr = NF_DEF_VAR (nid, "F0", NF_FLOAT, 1, idim2,nvarid)
905#endif
906      ierr = NF_ENDDEF(nid)
907#ifdef NC_DOUBLE
908      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,f0_glo)
909#else
910      ierr = NF_PUT_VAR_REAL (nid,nvarid,f0_glo)
911#endif
912c ema_work1
913      ierr = NF_REDEF (nid)
914#ifdef NC_DOUBLE
915      ierr = NF_DEF_VAR (nid, "EMA_WORK1", NF_DOUBLE, 1, idim3,nvarid)
916#else
917      ierr = NF_DEF_VAR (nid, "EMA_WORK1", NF_FLOAT, 1, idim3,nvarid)
918#endif
919      ierr = NF_ENDDEF(nid)
920#ifdef NC_DOUBLE
921      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,ema_work1_glo)
922#else
923      ierr = NF_PUT_VAR_REAL (nid,nvarid,ema_work1_glo)
924#endif
925c ema_work2
926      ierr = NF_REDEF (nid)
927#ifdef NC_DOUBLE
928      ierr = NF_DEF_VAR (nid, "EMA_WORK2", NF_DOUBLE, 1, idim3,nvarid)
929#else
930      ierr = NF_DEF_VAR (nid, "EMA_WORK2", NF_FLOAT, 1, idim3,nvarid)
931#endif
932      ierr = NF_ENDDEF(nid)
933#ifdef NC_DOUBLE
934      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,ema_work2_glo)
935#else
936      ierr = NF_PUT_VAR_REAL (nid,nvarid,ema_work2_glo)
937#endif
938c wake_deltat
939      ierr = NF_REDEF (nid)
940#ifdef NC_DOUBLE
941      ierr = NF_DEF_VAR (nid, "WAKE_DELTAT", NF_DOUBLE, 1, idim3,nvarid)
942#else
943      ierr = NF_DEF_VAR (nid, "WAKE_DELTAT", NF_FLOAT, 1, idim3,nvarid)
944#endif
945      ierr = NF_ENDDEF(nid)
946#ifdef NC_DOUBLE
947      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,wake_deltat_glo)
948#else
949      ierr = NF_PUT_VAR_REAL (nid,nvarid,wake_deltat_glo)
950#endif
951c wake_deltaq
952      ierr = NF_REDEF (nid)
953#ifdef NC_DOUBLE
954      ierr = NF_DEF_VAR (nid, "WAKE_DELTAQ", NF_DOUBLE, 1, idim3,nvarid)
955#else
956      ierr = NF_DEF_VAR (nid, "WAKE_DELTAQ", NF_FLOAT, 1, idim3,nvarid)
957#endif
958      ierr = NF_ENDDEF(nid)
959#ifdef NC_DOUBLE
960      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,wake_deltaq_glo)
961#else
962      ierr = NF_PUT_VAR_REAL (nid,nvarid,wake_deltaq_glo)
963#endif
964c wake_s
965      ierr = NF_REDEF (nid)
966#ifdef NC_DOUBLE
967      ierr = NF_DEF_VAR (nid, "WAKE_S", NF_DOUBLE, 1, idim2,nvarid)
968#else
969      ierr = NF_DEF_VAR (nid, "WAKE_S", NF_FLOAT, 1, idim2,nvarid)
970#endif
971      ierr = NF_ENDDEF(nid)
972#ifdef NC_DOUBLE
973      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,wake_s_glo)
974#else
975      ierr = NF_PUT_VAR_REAL (nid,nvarid,wake_s_glo)
976#endif
977c wake_cstar
978      ierr = NF_REDEF (nid)
979#ifdef NC_DOUBLE
980      ierr = NF_DEF_VAR (nid, "WAKE_CSTAR", NF_DOUBLE, 1, idim2,nvarid)
981#else
982      ierr = NF_DEF_VAR (nid, "WAKE_CSTAR", NF_FLOAT, 1, idim2,nvarid)
983#endif
984      ierr = NF_ENDDEF(nid)
985#ifdef NC_DOUBLE
986      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,wake_cstar_glo)
987#else
988      ierr = NF_PUT_VAR_REAL (nid,nvarid,wake_cstar_glo)
989#endif
990c wake_fip
991      ierr = NF_REDEF (nid)
992#ifdef NC_DOUBLE
993      ierr = NF_DEF_VAR (nid, "WAKE_FIP", NF_DOUBLE, 1, idim2,nvarid)
994#else
995      ierr = NF_DEF_VAR (nid, "WAKE_FIP", NF_FLOAT, 1, idim2,nvarid)
996#endif
997      ierr = NF_ENDDEF(nid)
998#ifdef NC_DOUBLE
999      ierr = NF_PUT_VAR_DOUBLE (nid,nvarid,wake_fip_glo)
1000#else
1001      ierr = NF_PUT_VAR_REAL (nid,nvarid,wake_fip_glo)
1002#endif
1003c
1004      ierr = NF_CLOSE(nid)
1005c
1006      endif   ! is_mpi_root
1007c$OMP END MASTER
1008      RETURN
1009      END
Note: See TracBrowser for help on using the repository browser.