Ignore:
Timestamp:
03/16/14 20:38:39 (10 years ago)
Author:
pinsard
Message:

fix thanks to coding rules

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/condmag_from_orca.pro

    r41 r48  
    2727; to specify on which grid we do the interpolation T, U, V 
    2828; must belong to T, U or V 
    29 ; ++ je ne sais pas comment ce paramètre doit intervenir 
     29; ++ je ne sais pas comment ce paramÚtre doit intervenir 
    3030; 
    3131; @keyword DRAKKAR_EXP 
     
    3333; only used when orcares = ORCA025 
    3434; must be G42 ++ G70 
    35 ; ++ je ne sais pas comment ce paramètre doit intervenir a priori 
    36 ; la partie mesh est la même pour toutes les expériences mais attention 
    37 ; pas forcément le mask. 
     35; ++ je ne sais pas comment ce paramÚtre doit intervenir a priori 
     36; la partie mesh est la même pour toutes les expériences mais attention 
     37; pas forcément le mask. 
    3838; 
    3939; @keyword PERF 
     
    8888PRO condmag_from_orca, orcares, method, gridtype, DRAKKAR_EXP = drakkar_exp, PERF = perf 
    8989; 
    90   compile_opt idl2, strictarrsubs 
    91 ; 
    92 IF keyword_set(perf) EQ 1 THEN BEGIN 
    93     msg = 'iii : start profiler' 
     90    compile_opt idl2, strictarrsubs 
     91    ; 
     92    IF keyword_set(perf) EQ 1 THEN BEGIN 
     93        msg = 'iii : start profiler' 
     94        ras = report(msg) 
     95        ;PROFILER, /SYSTEM & PROFILER 
     96        PROFILER, /SYSTEM & PROFILER 
     97        ; ++ ne tracera que les modules compilés au moment de l'appel à cette commande 
     98        ; donc ++ regarder si on a bien tout et si on doit ajouter des PROFILER,toto dans 
     99        ; tous les modules 
     100    ENDIF 
     101        ; 
     102        ;---- 
     103        ; check input parameters 
     104        ;---- 
     105        ; 
     106        ; check orcares definition 
     107        ; 
     108        CASE orcares OF 
     109           'ORCA2': BEGIN 
     110                     msg = 'iii : valid orcares parameter = ' + orcares 
     111                     ras = report(msg) 
     112                     filename_oce = 'meshmask_bab.nc' 
     113                     IF keyword_set(DRAKKAR_EXP) THEN BEGIN 
     114                        msg = 'www : unused DRAKKAR_EXP keyword = ' + drakkar_exp 
     115                        ras = report(msg) 
     116                     END 
     117                  END 
     118         'ORCA025': BEGIN 
     119                     msg = 'iii : valid orcares parameter = ' + orcares 
     120                     ras = report(msg) 
     121                     IF keyword_set(DRAKKAR_EXP) THEN BEGIN 
     122                        msg = 'iii : DRAKKAR_EXP keyword set' 
     123                        ras = report(msg) 
     124                        msg = 'iii : DRAKKAR_EXP = ' + drakkar_exp 
     125                        ras = report(msg) 
     126                        CASE drakkar_exp OF 
     127                           'G42' : BEGIN 
     128                                      msg = 'iii : valid DRAKKAR_EXP keyword = ' + drakkar_exp 
     129                                      ras = report(msg) 
     130                                   END 
     131                           'G70' : BEGIN 
     132                                      msg = 'iii : valid DRAKKAR_EXP keyword = ' + drakkar_exp 
     133                                      ras = report(msg) 
     134                                   END 
     135                           ELSE : BEGIN 
     136                                      msg = 'eee : invalid DRAKKAR_EXP keyword = ' + drakkar_exp 
     137                                      ras = report(msg) 
     138                                      RETURN 
     139                                  END 
     140                        ENDCASE 
     141                        filename_oce = orcares + '-' + drakkar_exp + '_mesh_hgr.nc' 
     142                     ENDIF ELSE BEGIN 
     143                        msg = 'eee : unset DRAKKAR_EXP keyword' 
     144                        ras = report(msg) 
     145                        msg = 'eee : orcares must be G42 or G70' 
     146                        ras = report(msg) 
     147                        RETURN 
     148                     ENDELSE 
     149                  END 
     150          ELSE : BEGIN 
     151                     msg = 'eee : invalid orcares parameter = ' + orcares 
     152                     ras = report(msg) 
     153                     msg = 'eee : orcares must be ORCA2 or ORCA025' 
     154                     ras = report(msg) 
     155                     RETURN 
     156                  END 
     157      ENDCASE 
     158        ; 
     159        ; check method definition 
     160      CASE method OF 
     161         'bilinear': BEGIN 
     162                        msg = 'iii : valid method parameter = ' + method 
     163                        ras = report(msg) 
     164                     END 
     165         ELSE      : BEGIN 
     166                        msg = 'eee : invalid method parameter = ' + method 
     167                        ras = report(msg) 
     168                        msg = 'eee : method must be bilinear' 
     169                        ras = report(msg) 
     170                        RETURN 
     171                     END 
     172      ENDCASE 
     173        ; 
     174        ; check gridtype definition 
     175      gridtype = strupcase(gridtype) 
     176      CASE gridtype OF 
     177         'T' : BEGIN 
     178                  msg = 'iii : valid gridtype parameter = ' + gridtype 
     179                  ras = report(msg) 
     180               END 
     181         'U' : BEGIN 
     182                  msg = 'iii : valid gridtype parameter = ' + gridtype 
     183                  ras = report(msg) 
     184               END 
     185         'V' : BEGIN 
     186                  msg = 'iii : valid gridtype parameter = ' + gridtype 
     187                  ras = report(msg) 
     188               END 
     189         ELSE : BEGIN 
     190                  msg = 'eee : invalid gridtype parameter = ' + gridtype 
     191                  ras = report(msg) 
     192                  msg = 'eee : gridtype must be T, U or V' 
     193                  ras = report(msg) 
     194                  RETURN 
     195         END 
     196    ENDCASE 
     197        ; 
     198        ; check for input files 
     199        ; 
     200        ; test if ${GEOMAG_ID} defined 
     201        geomag_id_env=GETENV('GEOMAG_ID') 
     202        CASE geomag_id_env OF 
     203         ''  :  BEGIN 
     204                  msg = 'eee : ${GEOMAG_ID} is not defined' 
     205                  ras = report(msg) 
     206                  RETURN 
     207                END 
     208         ELSE: BEGIN 
     209                 msg = 'iii : ${GEOMAG_ID} is ' + geomag_id_env 
     210                 ras = report(msg) 
     211               END 
     212        ENDCASE 
     213        ; 
     214        iodirin = isadirectory(geomag_id_env) 
     215        ; 
     216        ; existence and protection of ${GEOMAG_ID} 
     217        IF (FILE_TEST(iodirin, /DIRECTORY,/EXECUTABLE , /READ) EQ 0) THEN BEGIN 
     218           msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
     219           ras = report(msg) 
     220           RETURN 
     221        ENDIF 
     222        ; 
     223        ; build input filenames 
     224        filename_cond_sed = 'cond_sed' + '_' + orcares +'.nc' 
     225        fullfilename_cond_sed = iodirin + filename_cond_sed 
     226        ; 
     227        ; check if this file exists 
     228        fullfilename_cond_sed = isafile(iodirin + filename_cond_sed, NEW=0,/MUST_EXIST) 
     229        IF fullfilename_cond_sed[0] EQ '' THEN BEGIN 
     230           msg = 'eee : the file ' + fullfilename_cond_sed + ' was not found.' 
     231           ras = report(msg) 
     232           RETURN 
     233        ENDIF 
     234        ; 
     235        ; protection 
     236        IF (FILE_TEST(fullfilename_cond_sed[0], /READ) EQ 0) THEN BEGIN 
     237           msg = 'eee : the file ' + fullfilename_cond_sed[0] + ' is not readable.' 
     238           ras = report(msg) 
     239           RETURN 
     240        ENDIF 
     241        ; 
     242        filename_Br = 'Br' + '_' + orcares +'.nc' 
     243        fullfilename_Br = iodirin + filename_Br 
     244        ; 
     245        ; check if this file exists 
     246        fullfilename_Br = isafile(iodirin + filename_Br, NEW=0,/MUST_EXIST) 
     247        IF fullfilename_Br[0] EQ '' THEN BEGIN 
     248           msg = 'eee : the file ' + fullfilename_Br + ' was not found.' 
     249           ras = report(msg) 
     250           RETURN 
     251        ENDIF 
     252        ; 
     253        ; protection 
     254        IF (FILE_TEST(fullfilename_Br[0], /READ) EQ 0) THEN BEGIN 
     255           msg = 'eee : the file ' + fullfilename_Br[0] + ' is not readable.' 
     256           ras = report(msg) 
     257           RETURN 
     258        ENDIF 
     259        ; 
     260        ; mesh mask 
     261        ; check if this file exists 
     262        fullfilename_oce = isafile(iodirin + filename_oce, NEW=0, /MUST_EXIST, $ 
     263                           RECURSIVE=0) 
     264        IF fullfilename_oce[0] EQ '' THEN BEGIN 
     265           msg = 'eee : the file ' + fullfilename_oce + ' was not found.' 
     266           ras = report(msg) 
     267           RETURN 
     268        ENDIF 
     269        ; 
     270        ; protection 
     271        IF (FILE_TEST(fullfilename_oce[0], /READ) EQ 0) THEN BEGIN 
     272           msg = 'eee : the file ' + fullfilename_oce[0] + ' is not readable.' 
     273           ras = report(msg) 
     274           RETURN 
     275        ENDIF 
     276        ; 
     277        filename_condmag = 'condmag.nc' 
     278        fullfilename_condmag = iodirin + filename_condmag 
     279        ; 
     280        ; check if this file exists 
     281        fullfilename_condmag = isafile(iodirin + filename_condmag, NEW=0,/MUST_EXIST) 
     282        IF fullfilename_condmag[0] EQ '' THEN BEGIN 
     283           msg = 'eee : the file ' + fullfilename_condmag + ' was not found.' 
     284           ras = report(msg) 
     285           RETURN 
     286        ENDIF 
     287        ; 
     288        ; protection 
     289        IF (FILE_TEST(fullfilename_condmag[0], /READ) EQ 0) THEN BEGIN 
     290           msg = 'eee : the file ' + fullfilename_condmag[0] + ' is not readable.' 
     291           ras = report(msg) 
     292           RETURN 
     293        ENDIF 
     294        ; 
     295        ; test if ${GEOMAG_OD} defined 
     296        geomag_od_env=GETENV('GEOMAG_OD') 
     297        CASE geomag_od_env OF 
     298           '' : BEGIN 
     299                   msg = 'eee : ${GEOMAG_OD} is not defined' 
     300                   ras = report(msg) 
     301                   RETURN 
     302                END 
     303           ELSE: BEGIN 
     304                   msg = 'iii : ${GEOMAG_OD} is ' + geomag_od_env 
     305                   ras = report(msg) 
     306                 END 
     307        ENDCASE 
     308        ; 
     309        ; check if output data will be possible 
     310        iodirout = isadirectory(geomag_od_env) 
     311        ; 
     312        ; existence and protection 
     313        IF (FILE_TEST(iodirout, /DIRECTORY,/WRITE) EQ 0) THEN BEGIN 
     314           msg = 'eee : the directory' + iodirout  + ' was not found.' 
     315           ras = report(msg) 
     316           RETURN 
     317        ENDIF 
     318        ; 
     319        ; build output filename 
     320        filename = 'condmag_from_' +  orcares +'.nc' 
     321        fullfilename = iodirout + filename 
     322        ; 
     323        ; in order to avoid unexpected overwritten 
     324        IF (FILE_TEST(fullfilename) EQ 1) THEN BEGIN 
     325           msg = 'eee : the file ' + fullfilename  + ' already exists.' 
     326           ras = report(msg) 
     327           RETURN 
     328        ENDIF 
     329        ; 
     330        ;---- 
     331        ; Oceanic grid parameters ie input grid + mask 
     332        ;---- 
     333        ; 
     334        initocemesh, orcares, DRAKKAR_EXP = drakkar_exp 
     335        ; 
     336        ;---- 
     337        ; read data to interpolate on regular grid 
     338        ;---- 
     339        ; 
     340    a=read_ncdf('cond_sed', 0, /timestep, $ 
     341    file = fullfilename_cond_sed[0], /nostruct) 
     342    msg = 'iii : ' + fullfilename_cond_sed[0] + ' opened for read' 
    94343    ras = report(msg) 
    95     ;PROFILER, /SYSTEM & PROFILER 
    96     PROFILER, /SYSTEM & PROFILER 
    97 ; ++ ne tracera que les modules compilés au moment de l'appel à cette commande 
    98 ; donc ++ regarder si on a bien tout et si on doit ajouter des  PROFILER,toto dans 
    99 ; tous les modules 
    100 ENDIF 
    101 ; 
    102 ;---- 
    103 ; check input parameters 
    104 ;---- 
    105 ; 
    106 ; check orcares definition 
    107 ; 
    108   CASE orcares OF 
    109      'ORCA2': BEGIN 
    110                  msg = 'iii : valid orcares parameter = ' + orcares 
    111                  ras = report(msg) 
    112                  filename_oce = 'meshmask_bab.nc' 
    113                  IF keyword_set(DRAKKAR_EXP) THEN BEGIN 
    114                     msg = 'www : unused DRAKKAR_EXP keyword = ' + drakkar_exp 
    115                     ras = report(msg) 
    116                  END 
    117               END 
    118      'ORCA025': BEGIN 
    119                  msg = 'iii : valid orcares parameter = ' + orcares 
    120                  ras = report(msg) 
    121                  IF keyword_set(DRAKKAR_EXP) THEN BEGIN 
    122                     msg = 'iii : DRAKKAR_EXP keyword set' 
    123                     ras = report(msg) 
    124                     msg = 'iii : DRAKKAR_EXP = ' + drakkar_exp 
    125                     ras = report(msg) 
    126                     CASE drakkar_exp OF 
    127                        'G42' : BEGIN 
    128                                   msg = 'iii : valid DRAKKAR_EXP keyword = ' + drakkar_exp 
    129                                   ras = report(msg) 
    130                                END 
    131                        'G70' : BEGIN 
    132                                   msg = 'iii : valid DRAKKAR_EXP keyword = ' + drakkar_exp 
    133                                   ras = report(msg) 
    134                                END 
    135                        ELSE : BEGIN 
    136                                   msg = 'eee : invalid DRAKKAR_EXP keyword = ' + drakkar_exp 
    137                                   ras = report(msg) 
    138                                   RETURN 
    139                               END 
    140                     ENDCASE 
    141                     filename_oce = orcares + '-' + drakkar_exp + '_mesh_hgr.nc' 
    142                  ENDIF ELSE BEGIN 
    143                     msg = 'eee : unset DRAKKAR_EXP keyword' 
    144                     ras = report(msg) 
    145                     msg = 'eee : orcares must be G42 or G70' 
    146                     ras = report(msg) 
    147                     RETURN 
    148                  ENDELSE 
    149               END 
    150       ELSE  : BEGIN 
    151                  msg = 'eee : invalid orcares parameter = ' + orcares 
    152                  ras = report(msg) 
    153                  msg = 'eee : orcares must be ORCA2 or ORCA025' 
    154                  ras = report(msg) 
    155                  RETURN 
    156               END 
    157   ENDCASE 
    158 ; 
    159 ; check method definition 
    160   CASE method OF 
    161      'bilinear': BEGIN 
    162                     msg = 'iii : valid method parameter = ' + method 
    163                     ras = report(msg) 
    164                  END 
    165      ELSE      : BEGIN 
    166                     msg = 'eee : invalid method parameter = ' + method 
    167                     ras = report(msg) 
    168                     msg = 'eee : method must be bilinear' 
    169                     ras = report(msg) 
    170                     RETURN 
    171                  END 
    172   ENDCASE 
    173 ; 
    174 ; check gridtype definition 
    175   gridtype = strupcase(gridtype) 
    176   CASE gridtype OF 
    177      'T' : BEGIN 
    178               msg = 'iii : valid gridtype parameter = ' + gridtype 
    179               ras = report(msg) 
    180            END 
    181      'U' : BEGIN 
    182               msg = 'iii : valid gridtype parameter = ' + gridtype 
    183               ras = report(msg) 
    184            END 
    185      'V' : BEGIN 
    186               msg = 'iii : valid gridtype parameter = ' + gridtype 
    187               ras = report(msg) 
    188            END 
    189      ELSE: BEGIN 
    190               msg = 'eee : invalid gridtype parameter = ' + gridtype 
    191               ras = report(msg) 
    192               msg = 'eee : gridtype must be T, U or V' 
    193               ras = report(msg) 
    194               RETURN 
    195            END 
    196   ENDCASE 
    197 ; 
    198 ; check for input files 
    199 ; 
    200 ; test if ${GEOMAG_ID} defined 
    201   geomag_id_env=GETENV('GEOMAG_ID') 
    202   CASE geomag_id_env OF 
    203      ''  :  BEGIN 
    204               msg = 'eee : ${GEOMAG_ID} is not defined' 
    205               ras = report(msg) 
    206               RETURN 
    207             END 
    208      ELSE: BEGIN 
    209              msg = 'iii : ${GEOMAG_ID} is ' + geomag_id_env 
    210              ras = report(msg) 
    211            END 
    212   ENDCASE 
    213 ; 
    214   iodirin = isadirectory(geomag_id_env) 
    215 ; 
    216 ; existence and protection of ${GEOMAG_ID} 
    217   IF (FILE_TEST(iodirin, /DIRECTORY,/EXECUTABLE , /READ) EQ 0) THEN BEGIN 
    218      msg = 'eee : the directory' + iodirin  + ' is not accessible.' 
    219      ras = report(msg) 
    220      RETURN 
    221   ENDIF 
    222 ; 
    223 ; build input filenames 
    224   filename_cond_sed = 'cond_sed' + '_' + orcares +'.nc' 
    225   fullfilename_cond_sed = iodirin + filename_cond_sed 
    226 ; 
    227 ; check if this file exists 
    228   fullfilename_cond_sed = isafile(iodirin + filename_cond_sed, NEW=0,/MUST_EXIST) 
    229   IF fullfilename_cond_sed[0] EQ '' THEN BEGIN 
    230      msg = 'eee : the file ' + fullfilename_cond_sed + ' was not found.' 
    231      ras = report(msg) 
    232      RETURN 
    233   ENDIF 
    234 ; 
    235 ; protection 
    236   IF (FILE_TEST(fullfilename_cond_sed[0], /READ) EQ 0) THEN BEGIN 
    237      msg = 'eee : the file ' + fullfilename_cond_sed[0] + ' is not readable.' 
    238      ras = report(msg) 
    239      RETURN 
    240   ENDIF 
    241 ; 
    242   filename_Br = 'Br' + '_' + orcares +'.nc' 
    243   fullfilename_Br = iodirin + filename_Br 
    244 ; 
    245 ; check if this file exists 
    246   fullfilename_Br = isafile(iodirin + filename_Br, NEW=0,/MUST_EXIST) 
    247   IF fullfilename_Br[0] EQ '' THEN BEGIN 
    248      msg = 'eee : the file ' + fullfilename_Br + ' was not found.' 
    249      ras = report(msg) 
    250      RETURN 
    251   ENDIF 
    252 ; 
    253 ; protection 
    254   IF (FILE_TEST(fullfilename_Br[0], /READ) EQ 0) THEN BEGIN 
    255      msg = 'eee : the file ' + fullfilename_Br[0] + ' is not readable.' 
    256      ras = report(msg) 
    257      RETURN 
    258   ENDIF 
    259 ; 
    260 ; mesh mask 
    261 ; check if this file exists 
    262   fullfilename_oce = isafile(iodirin + filename_oce, NEW=0, /MUST_EXIST, $ 
    263                      RECURSIVE=0) 
    264   IF fullfilename_oce[0] EQ '' THEN BEGIN 
    265      msg = 'eee : the file ' + fullfilename_oce + ' was not found.' 
    266      ras = report(msg) 
    267      RETURN 
    268   ENDIF 
    269 ; 
    270 ; protection 
    271   IF (FILE_TEST(fullfilename_oce[0], /READ) EQ 0) THEN BEGIN 
    272      msg = 'eee : the file ' + fullfilename_oce[0] + ' is not readable.' 
    273      ras = report(msg) 
    274      RETURN 
    275   ENDIF 
    276 ; 
    277   filename_condmag = 'condmag.nc' 
    278   fullfilename_condmag = iodirin + filename_condmag 
    279 ; 
    280 ; check if this file exists 
    281   fullfilename_condmag = isafile(iodirin + filename_condmag, NEW=0,/MUST_EXIST) 
    282   IF fullfilename_condmag[0] EQ '' THEN BEGIN 
    283      msg = 'eee : the file ' + fullfilename_condmag + ' was not found.' 
    284      ras = report(msg) 
    285      RETURN 
    286   ENDIF 
    287 ; 
    288 ; protection 
    289   IF (FILE_TEST(fullfilename_condmag[0], /READ) EQ 0) THEN BEGIN 
    290      msg = 'eee : the file ' + fullfilename_condmag[0] + ' is not readable.' 
    291      ras = report(msg) 
    292      RETURN 
    293   ENDIF 
    294 ; 
    295 ; test if ${GEOMAG_OD} defined 
    296   geomag_od_env=GETENV('GEOMAG_OD') 
    297   CASE geomag_od_env OF 
    298      '' : BEGIN 
    299              msg = 'eee : ${GEOMAG_OD} is not defined' 
    300              ras = report(msg) 
    301              RETURN 
    302           END 
    303      ELSE: BEGIN 
    304              msg = 'iii : ${GEOMAG_OD} is ' + geomag_od_env 
    305              ras = report(msg) 
    306            END 
    307   ENDCASE 
    308 ; 
    309 ; check if output data will be possible 
    310   iodirout = isadirectory(geomag_od_env) 
    311 ; 
    312 ; existence and protection 
    313   IF (FILE_TEST(iodirout, /DIRECTORY,/WRITE) EQ 0) THEN BEGIN 
    314      msg = 'eee : the directory' + iodirout  + ' was not found.' 
    315      ras = report(msg) 
    316      RETURN 
    317   ENDIF 
    318 ; 
    319 ; build output filename 
    320   filename = 'condmag_from_' +  orcares +'.nc' 
    321   fullfilename = iodirout + filename 
    322 ; 
    323 ; in order to avoid unexpected overwritten 
    324   IF (FILE_TEST(fullfilename) EQ 1) THEN BEGIN 
    325      msg = 'eee : the file ' + fullfilename  + ' already exists.' 
    326      ras = report(msg) 
    327      RETURN 
    328   ENDIF 
    329 ; 
    330 ;---- 
    331 ; Oceanic grid parameters ie input grid + mask 
    332 ;---- 
    333 ; 
    334 initocemesh, orcares, DRAKKAR_EXP = drakkar_exp 
    335 ; 
    336 ;---- 
    337 ; read data to interpolate on regular grid 
    338 ;---- 
    339 ; 
    340 a=read_ncdf('cond_sed', 0, /timestep, $ 
    341 file = fullfilename_cond_sed[0], /nostruct) 
    342 msg = 'iii : ' + fullfilename_cond_sed[0] + ' opened for read' 
    343 ras = report(msg) 
    344 ; mask and limite cond_sed on values below 5000 ++ 
    345 cond_sedin = extrapsmooth(a, tmask[*, *, 0]*(a le 5000), /x_periodic) 
    346 ; 
    347 b = read_ncdf('Br', 0, /timestep, $ 
    348 file = fullfilename_Br[0], /nostruct) 
    349 msg = 'iii : ' + fullfilename_Br[0] + ' opened for read' 
    350 ras = report(msg) 
    351 ; mask and limit Br on values below/above ++ 
    352 Brin = extrapsmooth(b, tmask[*, *, 0]*(b), /x_periodic) 
    353 ; 
    354 glamin = glamt 
    355 gphiin = gphit 
    356 maskin = tmask[*, *, 0] 
    357 ; 
    358 ;--- 
    359 ; conductivity and magnetic field grid parameters ie output grid 
    360 ;---- 
     344        ; mask and limite cond_sed on values below 5000 ++ 
     345    cond_sedin = extrapsmooth(a, tmask[*, *, 0]*(a le 5000), /x_periodic) 
     346        ; 
     347    b = read_ncdf('Br', 0, /timestep, $ 
     348    file = fullfilename_Br[0], /nostruct) 
     349    msg = 'iii : ' + fullfilename_Br[0] + ' opened for read' 
     350    ras = report(msg) 
     351        ; mask and limit Br on values below/above ++ 
     352    Brin = extrapsmooth(b, tmask[*, *, 0]*(b), /x_periodic) 
     353        ; 
     354    glamin = glamt 
     355    gphiin = gphit 
     356    maskin = tmask[*, *, 0] 
     357        ; 
     358        ;--- 
     359        ; conductivity and magnetic field grid parameters ie output grid 
     360        ;---- 
    361361 
    362 initncdf, fullfilename_condmag[0], xaxisname = 'lo', yaxisname = 'la' 
    363 msg = 'iii : ' + fullfilename_condmag[0] + ' opened for read' 
    364 ras = report(msg) 
    365 ; 
    366 glamout = glamt 
    367 gphiout = gphit 
    368 ; 
     362    initncdf, fullfilename_condmag[0], xaxisname = 'lo', yaxisname = 'la' 
     363    msg = 'iii : ' + fullfilename_condmag[0] + ' opened for read' 
     364    ras = report(msg) 
     365        ; 
     366    glamout = glamt 
     367    gphiout = gphit 
     368        ; 
    369369 
    370 dimidxout = jpi 
    371 dimidyout = jpj 
    372 ; 
    373 ;--------------- 
    374 ; Interpolate 
    375 ;--------------- 
    376 ;++ cond_sedout = fromirr('bilinear', cond_sedin, glamin, gphiin, maskin,  glamout, gphiout, -1,  WEIG = weights, ADDR = addresses) 
     370    dimidxout = jpi 
     371    dimidyout = jpj 
     372    ; 
     373    ;--------------- 
     374    ; Interpolate 
     375    ;--------------- 
     376    ;++ cond_sedout = fromirr('bilinear', cond_sedin, glamin, gphiin, maskin,  glamout, gphiout, -1,  WEIG = weights, ADDR = addresses) 
    377377cond_sedout=dindgen(dimidxout,dimidyout) 
    378 ;Brout=fromirr('bilinear', Brin, weights, addresses) ; ++ pb doc % Variable is undefined: LONOUT 
    379 ;++Brout = fromirr('bilinear', Brin, glamin, gphiin, maskin,  glamout, gphiout, -1,  WEIG = weights, ADDR = addresses) 
    380 ; 
     378    ;Brout=fromirr('bilinear', Brin, weights, addresses) ; ++ pb doc % Variable is undefined: LONOUT 
     379    ;++Brout = fromirr('bilinear', Brin, glamin, gphiin, maskin,  glamout, gphiout, -1,  WEIG = weights, ADDR = addresses) 
     380    ; 
    381381Brout=dindgen(dimidxout,dimidyout) 
    382382 
    383 ; 
    384 ;--------------- 
    385 ; Produce outputs 
    386 ;--------------- 
    387 ; 
    388   netcdf_id = NCDF_CREATE(fullfilename, /clobber) 
    389   NCDF_CONTROL, netcdf_id, /NOFILL 
    390 ; 
    391 ; dimension 
    392   dimidxout = NCDF_DIMDEF(netcdf_id, 'la' ,  jpi) 
    393   dimidyout = NCDF_DIMDEF(netcdf_id, 'lo' ,  jpj) 
    394 ; 
    395 ; global attributes 
    396   NCDF_ATTPUT, netcdf_id, 'Conventions', 'GDT 1.2', /GLOBAL ; ++ conformite 
    397 ;++  NCDF_ATTPUT, netcdf_id, 'file_name'  , filename, /GLOBAL 
    398 ;++  NCDF_ATTPUT, netcdf_id, 'Title'      , title, /GLOBAL 
    399 ; 
    400 ; declaration of variables 
    401   varid = lonarr(4) 
    402 ; 
    403   varid[0] = NCDF_VARDEF(netcdf_id, 'la'  , [dimidxout], /FLOAT) 
    404   varid[1] = NCDF_VARDEF(netcdf_id, 'lo'  , [dimidyout], /FLOAT) 
    405   varid[2] = NCDF_VARDEF(netcdf_id, 'cond_sed'  , [dimidxout, dimidyout], /FLOAT) 
    406   NCDF_ATTPUT, netcdf_id, varid[2], 'units'    , 'siemens' 
    407   varid[3] = NCDF_VARDEF(netcdf_id, 'Br'  , [dimidxout, dimidyout], /FLOAT) 
    408   NCDF_ATTPUT, netcdf_id, varid[3], 'units'    , 'siemens' 
    409 ; 
    410   NCDF_CONTROL, netcdf_id, /ENDEF 
    411 ; 
    412   NCDF_VARPUT, netcdf_id, varid[0], dindgen(dimidxout,dimidyout) 
    413   NCDF_VARPUT, netcdf_id, varid[1], dindgen(dimidyout,dimidyout) 
    414 ; 
    415 ; write the data 
    416 ; 
    417   NCDF_VARPUT, netcdf_id, varid[2], cond_sedout 
    418 ;++  NCDF_VARPUT, netcdf_id, 'Br', Brout 
    419 ;--------------------------- 
    420 ; close the netcdf files 
    421   NCDF_CLOSE, netcdf_id 
    422 ; 
    423   msg = 'iii : ' + fullfilename + ' created' 
    424   ras = report(msg) 
    425 ; 
    426 IF keyword_set(perf) EQ 1 THEN BEGIN 
    427   msg = 'iii : report profiler results' 
    428   ras = report(msg) 
    429 ; ++ tri par ordre alpha , par ordre de pourcentage croissant ou décroissant 
    430 ; +++ d'utilisation 
    431   profiler,/REPORT 
    432 ;  shut down all profiling (according to 
    433 ; http://www.dfanning.com/code_tips/whyslow.html) 
    434   profiler, /CLEAR, /SYSTEM 
    435   profiler, /CLEAR, /RESET 
     383    ; 
     384    ;--------------- 
     385    ; Produce outputs 
     386    ;--------------- 
     387    ; 
     388    netcdf_id = NCDF_CREATE(fullfilename, /clobber) 
     389    NCDF_CONTROL, netcdf_id, /NOFILL 
     390    ; 
     391    ; dimension 
     392    dimidxout = NCDF_DIMDEF(netcdf_id, 'la' ,  jpi) 
     393    dimidyout = NCDF_DIMDEF(netcdf_id, 'lo' ,  jpj) 
     394    ; 
     395    ; global attributes 
     396    NCDF_ATTPUT, netcdf_id, 'Conventions', 'GDT 1.2', /GLOBAL ; ++ conformite 
     397    ;++  NCDF_ATTPUT, netcdf_id, 'file_name'  , filename, /GLOBAL 
     398    ;++  NCDF_ATTPUT, netcdf_id, 'Title'      , title, /GLOBAL 
     399    ; 
     400    ; declaration of variables 
     401    varid = lonarr(4) 
     402    ; 
     403    varid[0] = NCDF_VARDEF(netcdf_id, 'la'  , [dimidxout], /FLOAT) 
     404    varid[1] = NCDF_VARDEF(netcdf_id, 'lo'  , [dimidyout], /FLOAT) 
     405    varid[2] = NCDF_VARDEF(netcdf_id, 'cond_sed'  , [dimidxout, dimidyout], /FLOAT) 
     406    NCDF_ATTPUT, netcdf_id, varid[2], 'units'    , 'siemens' 
     407    varid[3] = NCDF_VARDEF(netcdf_id, 'Br'  , [dimidxout, dimidyout], /FLOAT) 
     408    NCDF_ATTPUT, netcdf_id, varid[3], 'units'    , 'siemens' 
     409    ; 
     410    NCDF_CONTROL, netcdf_id, /ENDEF 
     411    ; 
     412    NCDF_VARPUT, netcdf_id, varid[0], dindgen(dimidxout,dimidyout) 
     413    NCDF_VARPUT, netcdf_id, varid[1], dindgen(dimidyout,dimidyout) 
     414    ; 
     415    ; write the data 
     416    ; 
     417    NCDF_VARPUT, netcdf_id, varid[2], cond_sedout 
     418    ;++  NCDF_VARPUT, netcdf_id, 'Br', Brout 
     419    ;--------------------------- 
     420    ; close the netcdf files 
     421    NCDF_CLOSE, netcdf_id 
     422    ; 
     423    msg = 'iii : ' + fullfilename + ' created' 
     424    ras = report(msg) 
     425    ; 
     426    IF keyword_set(perf) EQ 1 THEN BEGIN 
     427        msg = 'iii : report profiler results' 
     428        ras = report(msg) 
     429        ; ++ tri par ordre alpha , par ordre de pourcentage croissant ou décroissant 
     430        ; +++ d'utilisation 
     431        profiler,/REPORT 
     432        ;  shut down all profiling (according to 
     433        ; http://www.dfanning.com/code_tips/whyslow.html) 
     434        profiler, /CLEAR, /SYSTEM 
     435        profiler, /CLEAR, /RESET 
    436436ENDIF 
    437 ; 
     437    ; 
    438438END 
Note: See TracChangeset for help on using the changeset viewer.