Ignore:
Timestamp:
Dec 6, 2022, 12:01:16 AM (18 months ago)
Author:
lguez
Message:

Sync latest trunk changes to Ocean_skin

Location:
LMDZ6/branches/Ocean_skin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin

  • LMDZ6/branches/Ocean_skin/libf/phylmd/dyn1d/old_1DUTILS_read_interp.h

    r3605 r4368  
    146146!program reading forcings of the TWP-ICE experiment
    147147
    148 !      use netcdf
     148        use netcdf, only: nf90_get_var
    149149
    150150      implicit none
     
    314314       enddo
    315315         
    316 #ifdef NC_DOUBLE
    317          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),lat)
    318 #else
    319          ierr = NF_GET_VAR_REAL(nid,var3didin(1),lat)
    320 #endif
     316         ierr = NF90_GET_VAR(nid,var3didin(1),lat)
    321317         if(ierr/=NF_NOERR) then
    322318            write(*,*) NF_STRERROR(ierr)
     
    325321!         write(*,*)'lecture lat ok',lat
    326322
    327 #ifdef NC_DOUBLE
    328          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),lon)
    329 #else
    330          ierr = NF_GET_VAR_REAL(nid,var3didin(2),lon)
    331 #endif
     323         ierr = NF90_GET_VAR(nid,var3didin(2),lon)
    332324         if(ierr/=NF_NOERR) then
    333325            write(*,*) NF_STRERROR(ierr)
     
    336328!         write(*,*)'lecture lon ok',lon
    337329 
    338 #ifdef NC_DOUBLE
    339          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),alt)
    340 #else
    341          ierr = NF_GET_VAR_REAL(nid,var3didin(3),alt)
    342 #endif
     330         ierr = NF90_GET_VAR(nid,var3didin(3),alt)
    343331         if(ierr/=NF_NOERR) then
    344332            write(*,*) NF_STRERROR(ierr)
     
    347335!          write(*,*)'lecture alt ok',alt
    348336 
    349 #ifdef NC_DOUBLE
    350          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),phis)
    351 #else
    352          ierr = NF_GET_VAR_REAL(nid,var3didin(4),phis)
    353 #endif
     337         ierr = NF90_GET_VAR(nid,var3didin(4),phis)
    354338         if(ierr/=NF_NOERR) then
    355339            write(*,*) NF_STRERROR(ierr)
     
    358342!          write(*,*)'lecture phis ok',phis
    359343         
    360 #ifdef NC_DOUBLE
    361          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),T)
    362 #else
    363          ierr = NF_GET_VAR_REAL(nid,var3didin(5),T)
    364 #endif
     344         ierr = NF90_GET_VAR(nid,var3didin(5),T)
    365345         if(ierr/=NF_NOERR) then
    366346            write(*,*) NF_STRERROR(ierr)
     
    369349!         write(*,*)'lecture T ok'
    370350
    371 #ifdef NC_DOUBLE
    372          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),q)
    373 #else
    374          ierr = NF_GET_VAR_REAL(nid,var3didin(6),q)
    375 #endif
     351         ierr = NF90_GET_VAR(nid,var3didin(6),q)
    376352         if(ierr/=NF_NOERR) then
    377353            write(*,*) NF_STRERROR(ierr)
     
    385361       enddo
    386362       enddo
    387 #ifdef NC_DOUBLE
    388          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),u)
    389 #else
    390          ierr = NF_GET_VAR_REAL(nid,var3didin(7),u)
    391 #endif
     363         ierr = NF90_GET_VAR(nid,var3didin(7),u)
    392364         if(ierr/=NF_NOERR) then
    393365            write(*,*) NF_STRERROR(ierr)
     
    396368!         write(*,*)'lecture u ok'
    397369
    398 #ifdef NC_DOUBLE
    399          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),v)
    400 #else
    401          ierr = NF_GET_VAR_REAL(nid,var3didin(8),v)
    402 #endif
     370         ierr = NF90_GET_VAR(nid,var3didin(8),v)
    403371         if(ierr/=NF_NOERR) then
    404372            write(*,*) NF_STRERROR(ierr)
     
    407375!         write(*,*)'lecture v ok'
    408376
    409 #ifdef NC_DOUBLE
    410          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),omega)
    411 #else
    412          ierr = NF_GET_VAR_REAL(nid,var3didin(9),omega)
    413 #endif
     377         ierr = NF90_GET_VAR(nid,var3didin(9),omega)
    414378         if(ierr/=NF_NOERR) then
    415379            write(*,*) NF_STRERROR(ierr)
     
    424388       enddo
    425389
    426 #ifdef NC_DOUBLE
    427          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),div)
    428 #else
    429          ierr = NF_GET_VAR_REAL(nid,var3didin(10),div)
    430 #endif
     390         ierr = NF90_GET_VAR(nid,var3didin(10),div)
    431391         if(ierr/=NF_NOERR) then
    432392            write(*,*) NF_STRERROR(ierr)
     
    435395!         write(*,*)'lecture div ok'
    436396
    437 #ifdef NC_DOUBLE
    438          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),T_adv_h)
    439 #else
    440          ierr = NF_GET_VAR_REAL(nid,var3didin(11),T_adv_h)
    441 #endif
     397         ierr = NF90_GET_VAR(nid,var3didin(11),T_adv_h)
    442398         if(ierr/=NF_NOERR) then
    443399            write(*,*) NF_STRERROR(ierr)
     
    453409
    454410
    455 #ifdef NC_DOUBLE
    456          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),T_adv_v)
    457 #else
    458          ierr = NF_GET_VAR_REAL(nid,var3didin(12),T_adv_v)
    459 #endif
     411         ierr = NF90_GET_VAR(nid,var3didin(12),T_adv_v)
    460412         if(ierr/=NF_NOERR) then
    461413            write(*,*) NF_STRERROR(ierr)
     
    470422       enddo
    471423
    472 #ifdef NC_DOUBLE
    473          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(13),q_adv_h)
    474 #else
    475          ierr = NF_GET_VAR_REAL(nid,var3didin(13),q_adv_h)
    476 #endif
     424         ierr = NF90_GET_VAR(nid,var3didin(13),q_adv_h)
    477425         if(ierr/=NF_NOERR) then
    478426            write(*,*) NF_STRERROR(ierr)
     
    488436
    489437
    490 #ifdef NC_DOUBLE
    491          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(14),q_adv_v)
    492 #else
    493          ierr = NF_GET_VAR_REAL(nid,var3didin(14),q_adv_v)
    494 #endif
     438         ierr = NF90_GET_VAR(nid,var3didin(14),q_adv_v)
    495439         if(ierr/=NF_NOERR) then
    496440            write(*,*) NF_STRERROR(ierr)
     
    506450
    507451
    508 #ifdef NC_DOUBLE
    509          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(15),s)
    510 #else
    511          ierr = NF_GET_VAR_REAL(nid,var3didin(15),s)
    512 #endif
    513          if(ierr/=NF_NOERR) then
    514             write(*,*) NF_STRERROR(ierr)
    515             stop "getvarup"
    516          endif
    517 
    518 #ifdef NC_DOUBLE
    519          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(16),s_adv_h)
    520 #else
    521          ierr = NF_GET_VAR_REAL(nid,var3didin(16),s_adv_h)
    522 #endif
    523          if(ierr/=NF_NOERR) then
    524             write(*,*) NF_STRERROR(ierr)
    525             stop "getvarup"
    526          endif
    527 
    528 #ifdef NC_DOUBLE
    529          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(17),s_adv_v)
    530 #else
    531          ierr = NF_GET_VAR_REAL(nid,var3didin(17),s_adv_v)
    532 #endif
    533          if(ierr/=NF_NOERR) then
    534             write(*,*) NF_STRERROR(ierr)
    535             stop "getvarup"
    536          endif
    537 
    538 #ifdef NC_DOUBLE
    539          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(18),p_srf_aver)
    540 #else
    541          ierr = NF_GET_VAR_REAL(nid,var3didin(18),p_srf_aver)
    542 #endif
    543          if(ierr/=NF_NOERR) then
    544             write(*,*) NF_STRERROR(ierr)
    545             stop "getvarup"
    546          endif
    547 
    548 #ifdef NC_DOUBLE
    549          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(19),p_srf_center)
    550 #else
    551          ierr = NF_GET_VAR_REAL(nid,var3didin(19),p_srf_center)
    552 #endif
    553          if(ierr/=NF_NOERR) then
    554             write(*,*) NF_STRERROR(ierr)
    555             stop "getvarup"
    556          endif
    557 
    558 #ifdef NC_DOUBLE
    559          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(20),T_srf)
    560 #else
    561          ierr = NF_GET_VAR_REAL(nid,var3didin(20),T_srf)
    562 #endif
     452         ierr = NF90_GET_VAR(nid,var3didin(15),s)
     453         if(ierr/=NF_NOERR) then
     454            write(*,*) NF_STRERROR(ierr)
     455            stop "getvarup"
     456         endif
     457
     458         ierr = NF90_GET_VAR(nid,var3didin(16),s_adv_h)
     459         if(ierr/=NF_NOERR) then
     460            write(*,*) NF_STRERROR(ierr)
     461            stop "getvarup"
     462         endif
     463
     464         ierr = NF90_GET_VAR(nid,var3didin(17),s_adv_v)
     465         if(ierr/=NF_NOERR) then
     466            write(*,*) NF_STRERROR(ierr)
     467            stop "getvarup"
     468         endif
     469
     470         ierr = NF90_GET_VAR(nid,var3didin(18),p_srf_aver)
     471         if(ierr/=NF_NOERR) then
     472            write(*,*) NF_STRERROR(ierr)
     473            stop "getvarup"
     474         endif
     475
     476         ierr = NF90_GET_VAR(nid,var3didin(19),p_srf_center)
     477         if(ierr/=NF_NOERR) then
     478            write(*,*) NF_STRERROR(ierr)
     479            stop "getvarup"
     480         endif
     481
     482         ierr = NF90_GET_VAR(nid,var3didin(20),T_srf)
    563483         if(ierr/=NF_NOERR) then
    564484            write(*,*) NF_STRERROR(ierr)
     
    572492         subroutine catchaxis(nid,ttm,llm,time,lev,ierr)
    573493
    574 !         use netcdf
     494         use netcdf, only: nf90_get_var
    575495
    576496         implicit none
     
    610530         endif
    611531
    612 !#ifdef NC_DOUBLE
    613          ierr = NF_GET_VAR_DOUBLE(nid,timevar,time)
    614          ierr = NF_GET_VAR_DOUBLE(nid,levvar,lev)
    615 !#else
    616 !        ierr = NF_GET_VAR_REAL(nid,timevar,time)
    617 !        ierr = NF_GET_VAR_REAL(nid,levvar,lev)
    618 !#endif
     532         ierr = NF90_GET_VAR(nid,timevar,time)
     533         ierr = NF90_GET_VAR(nid,levvar,lev)
    619534
    620535       return
     
    22552170
    22562171
     2172      use netcdf, only: nf90_get_var
    22572173      implicit none
    22582174
     
    23642280!      call catchaxis(nid,ntime,nlevel,time,z,ierr)
    23652281 
    2366 #ifdef NC_DOUBLE
    2367          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),zz)
    2368 #else
    2369          ierr = NF_GET_VAR_REAL(nid,var3didin(1),zz)
    2370 #endif
     2282         ierr = NF90_GET_VAR(nid,var3didin(1),zz)
    23712283         if(ierr/=NF_NOERR) then
    23722284            write(*,*) NF_STRERROR(ierr)
     
    23752287!          write(*,*)'lecture z ok',zz
    23762288
    2377 #ifdef NC_DOUBLE
    2378          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),thl)
    2379 #else
    2380          ierr = NF_GET_VAR_REAL(nid,var3didin(2),thl)
    2381 #endif
     2289         ierr = NF90_GET_VAR(nid,var3didin(2),thl)
    23822290         if(ierr/=NF_NOERR) then
    23832291            write(*,*) NF_STRERROR(ierr)
     
    23862294!          write(*,*)'lecture thl ok',thl
    23872295
    2388 #ifdef NC_DOUBLE
    2389          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),qt)
    2390 #else
    2391          ierr = NF_GET_VAR_REAL(nid,var3didin(3),qt)
    2392 #endif
     2296         ierr = NF90_GET_VAR(nid,var3didin(3),qt)
    23932297         if(ierr/=NF_NOERR) then
    23942298            write(*,*) NF_STRERROR(ierr)
     
    23972301!          write(*,*)'lecture qt ok',qt
    23982302 
    2399 #ifdef NC_DOUBLE
    2400          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),u)
    2401 #else
    2402          ierr = NF_GET_VAR_REAL(nid,var3didin(4),u)
    2403 #endif
     2303         ierr = NF90_GET_VAR(nid,var3didin(4),u)
    24042304         if(ierr/=NF_NOERR) then
    24052305            write(*,*) NF_STRERROR(ierr)
     
    24082308!          write(*,*)'lecture u ok',u
    24092309
    2410 #ifdef NC_DOUBLE
    2411          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),v)
    2412 #else
    2413          ierr = NF_GET_VAR_REAL(nid,var3didin(5),v)
    2414 #endif
     2310         ierr = NF90_GET_VAR(nid,var3didin(5),v)
    24152311         if(ierr/=NF_NOERR) then
    24162312            write(*,*) NF_STRERROR(ierr)
     
    24192315!          write(*,*)'lecture v ok',v
    24202316
    2421 #ifdef NC_DOUBLE
    2422          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),tke)
    2423 #else
    2424          ierr = NF_GET_VAR_REAL(nid,var3didin(6),tke)
    2425 #endif
     2317         ierr = NF90_GET_VAR(nid,var3didin(6),tke)
    24262318         if(ierr/=NF_NOERR) then
    24272319            write(*,*) NF_STRERROR(ierr)
     
    24302322!          write(*,*)'lecture tke ok',tke
    24312323
    2432 #ifdef NC_DOUBLE
    2433          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),ug)
    2434 #else
    2435          ierr = NF_GET_VAR_REAL(nid,var3didin(7),ug)
    2436 #endif
     2324         ierr = NF90_GET_VAR(nid,var3didin(7),ug)
    24372325         if(ierr/=NF_NOERR) then
    24382326            write(*,*) NF_STRERROR(ierr)
     
    24412329!          write(*,*)'lecture ug ok',ug
    24422330
    2443 #ifdef NC_DOUBLE
    2444          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),vg)
    2445 #else
    2446          ierr = NF_GET_VAR_REAL(nid,var3didin(8),vg)
    2447 #endif
     2331         ierr = NF90_GET_VAR(nid,var3didin(8),vg)
    24482332         if(ierr/=NF_NOERR) then
    24492333            write(*,*) NF_STRERROR(ierr)
     
    24522336!          write(*,*)'lecture vg ok',vg
    24532337
    2454 #ifdef NC_DOUBLE
    2455          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),wls)
    2456 #else
    2457          ierr = NF_GET_VAR_REAL(nid,var3didin(9),wls)
    2458 #endif
     2338         ierr = NF90_GET_VAR(nid,var3didin(9),wls)
    24592339         if(ierr/=NF_NOERR) then
    24602340            write(*,*) NF_STRERROR(ierr)
     
    24632343!          write(*,*)'lecture wls ok',wls
    24642344
    2465 #ifdef NC_DOUBLE
    2466          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),dqtdx)
    2467 #else
    2468          ierr = NF_GET_VAR_REAL(nid,var3didin(10),dqtdx)
    2469 #endif
     2345         ierr = NF90_GET_VAR(nid,var3didin(10),dqtdx)
    24702346         if(ierr/=NF_NOERR) then
    24712347            write(*,*) NF_STRERROR(ierr)
     
    24742350!          write(*,*)'lecture dqtdx ok',dqtdx
    24752351
    2476 #ifdef NC_DOUBLE
    2477          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),dqtdy)
    2478 #else
    2479          ierr = NF_GET_VAR_REAL(nid,var3didin(11),dqtdy)
    2480 #endif
     2352         ierr = NF90_GET_VAR(nid,var3didin(11),dqtdy)
    24812353         if(ierr/=NF_NOERR) then
    24822354            write(*,*) NF_STRERROR(ierr)
     
    24852357!          write(*,*)'lecture dqtdy ok',dqtdy
    24862358
    2487 #ifdef NC_DOUBLE
    2488          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),dqtdt)
    2489 #else
    2490          ierr = NF_GET_VAR_REAL(nid,var3didin(12),dqtdt)
    2491 #endif
     2359         ierr = NF90_GET_VAR(nid,var3didin(12),dqtdt)
    24922360         if(ierr/=NF_NOERR) then
    24932361            write(*,*) NF_STRERROR(ierr)
     
    24962364!          write(*,*)'lecture dqtdt ok',dqtdt
    24972365
    2498 #ifdef NC_DOUBLE
    2499          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(13),thl_rad)
    2500 #else
    2501          ierr = NF_GET_VAR_REAL(nid,var3didin(13),thl_rad)
    2502 #endif
     2366         ierr = NF90_GET_VAR(nid,var3didin(13),thl_rad)
    25032367         if(ierr/=NF_NOERR) then
    25042368            write(*,*) NF_STRERROR(ierr)
     
    25172381!program reading initial profils and forcings of the Dice case study
    25182382
     2383      use netcdf, only: nf90_get_var
    25192384
    25202385      implicit none
     
    26852550!      call catchaxis(nid,ntime,nlevel,time,z,ierr)
    26862551 
    2687 #ifdef NC_DOUBLE
    2688          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),zz)
    2689 #else
    2690          ierr = NF_GET_VAR_REAL(nid,var3didin(1),zz)
    2691 #endif
     2552         ierr = NF90_GET_VAR(nid,var3didin(1),zz)
    26922553         if(ierr/=NF_NOERR) then
    26932554            write(*,*) NF_STRERROR(ierr)
     
    26962557!          write(*,*)'lecture zz ok',zz
    26972558 
    2698 #ifdef NC_DOUBLE
    2699          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),pres)
    2700 #else
    2701          ierr = NF_GET_VAR_REAL(nid,var3didin(11),pres)
    2702 #endif
     2559         ierr = NF90_GET_VAR(nid,var3didin(11),pres)
    27032560         if(ierr/=NF_NOERR) then
    27042561            write(*,*) NF_STRERROR(ierr)
     
    27072564!          write(*,*)'lecture pres ok',pres
    27082565
    2709 #ifdef NC_DOUBLE
    2710          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),th)
    2711 #else
    2712          ierr = NF_GET_VAR_REAL(nid,var3didin(12),th)
    2713 #endif
     2566         ierr = NF90_GET_VAR(nid,var3didin(12),th)
    27142567         if(ierr/=NF_NOERR) then
    27152568            write(*,*) NF_STRERROR(ierr)
     
    27212574           enddo
    27222575
    2723 #ifdef NC_DOUBLE
    2724          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(13),qv)
    2725 #else
    2726          ierr = NF_GET_VAR_REAL(nid,var3didin(13),qv)
    2727 #endif
     2576         ierr = NF90_GET_VAR(nid,var3didin(13),qv)
    27282577         if(ierr/=NF_NOERR) then
    27292578            write(*,*) NF_STRERROR(ierr)
     
    27322581!          write(*,*)'lecture qv ok',qv
    27332582 
    2734 #ifdef NC_DOUBLE
    2735          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(14),u)
    2736 #else
    2737          ierr = NF_GET_VAR_REAL(nid,var3didin(14),u)
    2738 #endif
     2583         ierr = NF90_GET_VAR(nid,var3didin(14),u)
    27392584         if(ierr/=NF_NOERR) then
    27402585            write(*,*) NF_STRERROR(ierr)
     
    27432588!          write(*,*)'lecture u ok',u
    27442589
    2745 #ifdef NC_DOUBLE
    2746          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(15),v)
    2747 #else
    2748          ierr = NF_GET_VAR_REAL(nid,var3didin(15),v)
    2749 #endif
     2590         ierr = NF90_GET_VAR(nid,var3didin(15),v)
    27502591         if(ierr/=NF_NOERR) then
    27512592            write(*,*) NF_STRERROR(ierr)
     
    27542595!          write(*,*)'lecture v ok',v
    27552596
    2756 #ifdef NC_DOUBLE
    2757          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(16),o3)
    2758 #else
    2759          ierr = NF_GET_VAR_REAL(nid,var3didin(16),o3)
    2760 #endif
     2597         ierr = NF90_GET_VAR(nid,var3didin(16),o3)
    27612598         if(ierr/=NF_NOERR) then
    27622599            write(*,*) NF_STRERROR(ierr)
     
    27652602!          write(*,*)'lecture o3 ok',o3
    27662603
    2767 #ifdef NC_DOUBLE
    2768          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),shf)
    2769 #else
    2770          ierr = NF_GET_VAR_REAL(nid,var3didin(2),shf)
    2771 #endif
     2604         ierr = NF90_GET_VAR(nid,var3didin(2),shf)
    27722605         if(ierr/=NF_NOERR) then
    27732606            write(*,*) NF_STRERROR(ierr)
     
    27762609!          write(*,*)'lecture shf ok',shf
    27772610
    2778 #ifdef NC_DOUBLE
    2779          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),lhf)
    2780 #else
    2781          ierr = NF_GET_VAR_REAL(nid,var3didin(3),lhf)
    2782 #endif
     2611         ierr = NF90_GET_VAR(nid,var3didin(3),lhf)
    27832612         if(ierr/=NF_NOERR) then
    27842613            write(*,*) NF_STRERROR(ierr)
     
    27872616!          write(*,*)'lecture lhf ok',lhf
    27882617
    2789 #ifdef NC_DOUBLE
    2790          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),lwup)
    2791 #else
    2792          ierr = NF_GET_VAR_REAL(nid,var3didin(4),lwup)
    2793 #endif
     2618         ierr = NF90_GET_VAR(nid,var3didin(4),lwup)
    27942619         if(ierr/=NF_NOERR) then
    27952620            write(*,*) NF_STRERROR(ierr)
     
    27982623!          write(*,*)'lecture lwup ok',lwup
    27992624
    2800 #ifdef NC_DOUBLE
    2801          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),swup)
    2802 #else
    2803          ierr = NF_GET_VAR_REAL(nid,var3didin(5),swup)
    2804 #endif
     2625         ierr = NF90_GET_VAR(nid,var3didin(5),swup)
    28052626         if(ierr/=NF_NOERR) then
    28062627            write(*,*) NF_STRERROR(ierr)
     
    28092630!          write(*,*)'lecture swup ok',swup
    28102631
    2811 #ifdef NC_DOUBLE
    2812          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),tg)
    2813 #else
    2814          ierr = NF_GET_VAR_REAL(nid,var3didin(6),tg)
    2815 #endif
     2632         ierr = NF90_GET_VAR(nid,var3didin(6),tg)
    28162633         if(ierr/=NF_NOERR) then
    28172634            write(*,*) NF_STRERROR(ierr)
     
    28202637!          write(*,*)'lecture tg ok',tg
    28212638
    2822 #ifdef NC_DOUBLE
    2823          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),ustar)
    2824 #else
    2825          ierr = NF_GET_VAR_REAL(nid,var3didin(7),ustar)
    2826 #endif
     2639         ierr = NF90_GET_VAR(nid,var3didin(7),ustar)
    28272640         if(ierr/=NF_NOERR) then
    28282641            write(*,*) NF_STRERROR(ierr)
     
    28312644!          write(*,*)'lecture ustar ok',ustar
    28322645
    2833 #ifdef NC_DOUBLE
    2834          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),psurf)
    2835 #else
    2836          ierr = NF_GET_VAR_REAL(nid,var3didin(8),psurf)
    2837 #endif
     2646         ierr = NF90_GET_VAR(nid,var3didin(8),psurf)
    28382647         if(ierr/=NF_NOERR) then
    28392648            write(*,*) NF_STRERROR(ierr)
     
    28422651!          write(*,*)'lecture psurf ok',psurf
    28432652
    2844 #ifdef NC_DOUBLE
    2845          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),ug)
    2846 #else
    2847          ierr = NF_GET_VAR_REAL(nid,var3didin(9),ug)
    2848 #endif
     2653         ierr = NF90_GET_VAR(nid,var3didin(9),ug)
    28492654         if(ierr/=NF_NOERR) then
    28502655            write(*,*) NF_STRERROR(ierr)
     
    28532658!          write(*,*)'lecture ug ok',ug
    28542659
    2855 #ifdef NC_DOUBLE
    2856          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),vg)
    2857 #else
    2858          ierr = NF_GET_VAR_REAL(nid,var3didin(10),vg)
    2859 #endif
     2660         ierr = NF90_GET_VAR(nid,var3didin(10),vg)
    28602661         if(ierr/=NF_NOERR) then
    28612662            write(*,*) NF_STRERROR(ierr)
     
    28642665!          write(*,*)'lecture vg ok',vg
    28652666
    2866 #ifdef NC_DOUBLE
    2867          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(17),hadvt)
    2868 #else
    2869          ierr = NF_GET_VAR_REAL(nid,var3didin(17),hadvt)
    2870 #endif
     2667         ierr = NF90_GET_VAR(nid,var3didin(17),hadvt)
    28712668         if(ierr/=NF_NOERR) then
    28722669            write(*,*) NF_STRERROR(ierr)
     
    28752672!          write(*,*)'lecture hadvt ok',hadvt
    28762673
    2877 #ifdef NC_DOUBLE
    2878          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(18),hadvq)
    2879 #else
    2880          ierr = NF_GET_VAR_REAL(nid,var3didin(18),hadvq)
    2881 #endif
     2674         ierr = NF90_GET_VAR(nid,var3didin(18),hadvq)
    28822675         if(ierr/=NF_NOERR) then
    28832676            write(*,*) NF_STRERROR(ierr)
     
    28862679!          write(*,*)'lecture hadvq ok',hadvq
    28872680
    2888 #ifdef NC_DOUBLE
    2889          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(19),hadvu)
    2890 #else
    2891          ierr = NF_GET_VAR_REAL(nid,var3didin(19),hadvu)
    2892 #endif
     2681         ierr = NF90_GET_VAR(nid,var3didin(19),hadvu)
    28932682         if(ierr/=NF_NOERR) then
    28942683            write(*,*) NF_STRERROR(ierr)
     
    28972686!          write(*,*)'lecture hadvu ok',hadvu
    28982687
    2899 #ifdef NC_DOUBLE
    2900          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(20),hadvv)
    2901 #else
    2902          ierr = NF_GET_VAR_REAL(nid,var3didin(20),hadvv)
    2903 #endif
     2688         ierr = NF90_GET_VAR(nid,var3didin(20),hadvv)
    29042689         if(ierr/=NF_NOERR) then
    29052690            write(*,*) NF_STRERROR(ierr)
     
    29082693!          write(*,*)'lecture hadvv ok',hadvv
    29092694
    2910 #ifdef NC_DOUBLE
    2911          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(21),w)
    2912 #else
    2913          ierr = NF_GET_VAR_REAL(nid,var3didin(21),w)
    2914 #endif
     2695         ierr = NF90_GET_VAR(nid,var3didin(21),w)
    29152696         if(ierr/=NF_NOERR) then
    29162697            write(*,*) NF_STRERROR(ierr)
     
    29192700!          write(*,*)'lecture w ok',w
    29202701
    2921 #ifdef NC_DOUBLE
    2922          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(22),omega)
    2923 #else
    2924          ierr = NF_GET_VAR_REAL(nid,var3didin(22),omega)
    2925 #endif
     2702         ierr = NF90_GET_VAR(nid,var3didin(22),omega)
    29262703         if(ierr/=NF_NOERR) then
    29272704            write(*,*) NF_STRERROR(ierr)
     
    29382715!program reading initial profils and forcings of the Gabls4 case study
    29392716
     2717      use netcdf, only: nf90_get_var
    29402718
    29412719      implicit none
     
    30682846!      call catchaxis(nid,ntime,nlevel,time,z,ierr)
    30692847 
    3070 #ifdef NC_DOUBLE
    3071          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(1),zz_i)
    3072 #else
    3073          ierr = NF_GET_VAR_REAL(nid,var3didin(1),zz_i)
    3074 #endif
    3075          if(ierr/=NF_NOERR) then
    3076             write(*,*) NF_STRERROR(ierr)
    3077             stop "getvarup"
    3078          endif
    3079  
    3080 #ifdef NC_DOUBLE
    3081          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(2),depth_sn)
    3082 #else
    3083          ierr = NF_GET_VAR_REAL(nid,var3didin(2),depth_sn)
    3084 #endif
    3085          if(ierr/=NF_NOERR) then
    3086             write(*,*) NF_STRERROR(ierr)
    3087             stop "getvarup"
    3088          endif
    3089  
    3090 #ifdef NC_DOUBLE
    3091          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(3),ug_i)
    3092 #else
    3093          ierr = NF_GET_VAR_REAL(nid,var3didin(3),ug_i)
    3094 #endif
    3095          if(ierr/=NF_NOERR) then
    3096             write(*,*) NF_STRERROR(ierr)
    3097             stop "getvarup"
    3098          endif
    3099  
    3100 #ifdef NC_DOUBLE
    3101          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(4),vg_i)
    3102 #else
    3103          ierr = NF_GET_VAR_REAL(nid,var3didin(4),vg_i)
    3104 #endif
    3105          if(ierr/=NF_NOERR) then
    3106             write(*,*) NF_STRERROR(ierr)
    3107             stop "getvarup"
    3108          endif
    3109  
    3110 #ifdef NC_DOUBLE
    3111          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(5),pf_i)
    3112 #else
    3113          ierr = NF_GET_VAR_REAL(nid,var3didin(5),pf_i)
    3114 #endif
    3115          if(ierr/=NF_NOERR) then
    3116             write(*,*) NF_STRERROR(ierr)
    3117             stop "getvarup"
    3118          endif
    3119 
    3120 #ifdef NC_DOUBLE
    3121          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(6),th_i)
    3122 #else
    3123          ierr = NF_GET_VAR_REAL(nid,var3didin(6),th_i)
    3124 #endif
    3125          if(ierr/=NF_NOERR) then
    3126             write(*,*) NF_STRERROR(ierr)
    3127             stop "getvarup"
    3128          endif
    3129 
    3130 #ifdef NC_DOUBLE
    3131          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(7),t_i)
    3132 #else
    3133          ierr = NF_GET_VAR_REAL(nid,var3didin(7),t_i)
    3134 #endif
    3135          if(ierr/=NF_NOERR) then
    3136             write(*,*) NF_STRERROR(ierr)
    3137             stop "getvarup"
    3138          endif
    3139 
    3140 #ifdef NC_DOUBLE
    3141          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(8),qv_i)
    3142 #else
    3143          ierr = NF_GET_VAR_REAL(nid,var3didin(8),qv_i)
    3144 #endif
    3145          if(ierr/=NF_NOERR) then
    3146             write(*,*) NF_STRERROR(ierr)
    3147             stop "getvarup"
    3148          endif
    3149  
    3150 #ifdef NC_DOUBLE
    3151          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(9),u_i)
    3152 #else
    3153          ierr = NF_GET_VAR_REAL(nid,var3didin(9),u_i)
    3154 #endif
    3155          if(ierr/=NF_NOERR) then
    3156             write(*,*) NF_STRERROR(ierr)
    3157             stop "getvarup"
    3158          endif
    3159  
    3160 #ifdef NC_DOUBLE
    3161          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(10),v_i)
    3162 #else
    3163          ierr = NF_GET_VAR_REAL(nid,var3didin(10),v_i)
    3164 #endif
    3165          if(ierr/=NF_NOERR) then
    3166             write(*,*) NF_STRERROR(ierr)
    3167             stop "getvarup"
    3168          endif
    3169  
    3170 #ifdef NC_DOUBLE
    3171          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(11),hadvt_i)
    3172 #else
    3173          ierr = NF_GET_VAR_REAL(nid,var3didin(11),hadvt_i)
    3174 #endif
    3175          if(ierr/=NF_NOERR) then
    3176             write(*,*) NF_STRERROR(ierr)
    3177             stop "getvarup"
    3178          endif
    3179  
    3180 #ifdef NC_DOUBLE
    3181          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(12),hadvq_i)
    3182 #else
    3183          ierr = NF_GET_VAR_REAL(nid,var3didin(12),hadvq_i)
    3184 #endif
    3185          if(ierr/=NF_NOERR) then
    3186             write(*,*) NF_STRERROR(ierr)
    3187             stop "getvarup"
    3188          endif
    3189  
    3190 #ifdef NC_DOUBLE
    3191          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(14),tsnow)
    3192 #else
    3193          ierr = NF_GET_VAR_REAL(nid,var3didin(14),tsnow)
    3194 #endif
    3195          if(ierr/=NF_NOERR) then
    3196             write(*,*) NF_STRERROR(ierr)
    3197             stop "getvarup"
    3198          endif
    3199  
    3200 #ifdef NC_DOUBLE
    3201          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(15),snow_dens)
    3202 #else
    3203          ierr = NF_GET_VAR_REAL(nid,var3didin(15),snow_dens)
    3204 #endif
    3205          if(ierr/=NF_NOERR) then
    3206             write(*,*) NF_STRERROR(ierr)
    3207             stop "getvarup"
    3208          endif
    3209 
    3210 #ifdef NC_DOUBLE
    3211          ierr = NF_GET_VAR_DOUBLE(nid,var3didin(16),tg)
    3212 #else
    3213          ierr = NF_GET_VAR_REAL(nid,var3didin(16),tg)
    3214 #endif
     2848         ierr = NF90_GET_VAR(nid,var3didin(1),zz_i)
     2849         if(ierr/=NF_NOERR) then
     2850            write(*,*) NF_STRERROR(ierr)
     2851            stop "getvarup"
     2852         endif
     2853 
     2854         ierr = NF90_GET_VAR(nid,var3didin(2),depth_sn)
     2855         if(ierr/=NF_NOERR) then
     2856            write(*,*) NF_STRERROR(ierr)
     2857            stop "getvarup"
     2858         endif
     2859 
     2860         ierr = NF90_GET_VAR(nid,var3didin(3),ug_i)
     2861         if(ierr/=NF_NOERR) then
     2862            write(*,*) NF_STRERROR(ierr)
     2863            stop "getvarup"
     2864         endif
     2865 
     2866         ierr = NF90_GET_VAR(nid,var3didin(4),vg_i)
     2867         if(ierr/=NF_NOERR) then
     2868            write(*,*) NF_STRERROR(ierr)
     2869            stop "getvarup"
     2870         endif
     2871 
     2872         ierr = NF90_GET_VAR(nid,var3didin(5),pf_i)
     2873         if(ierr/=NF_NOERR) then
     2874            write(*,*) NF_STRERROR(ierr)
     2875            stop "getvarup"
     2876         endif
     2877
     2878         ierr = NF90_GET_VAR(nid,var3didin(6),th_i)
     2879         if(ierr/=NF_NOERR) then
     2880            write(*,*) NF_STRERROR(ierr)
     2881            stop "getvarup"
     2882         endif
     2883
     2884         ierr = NF90_GET_VAR(nid,var3didin(7),t_i)
     2885         if(ierr/=NF_NOERR) then
     2886            write(*,*) NF_STRERROR(ierr)
     2887            stop "getvarup"
     2888         endif
     2889
     2890         ierr = NF90_GET_VAR(nid,var3didin(8),qv_i)
     2891         if(ierr/=NF_NOERR) then
     2892            write(*,*) NF_STRERROR(ierr)
     2893            stop "getvarup"
     2894         endif
     2895 
     2896         ierr = NF90_GET_VAR(nid,var3didin(9),u_i)
     2897         if(ierr/=NF_NOERR) then
     2898            write(*,*) NF_STRERROR(ierr)
     2899            stop "getvarup"
     2900         endif
     2901 
     2902         ierr = NF90_GET_VAR(nid,var3didin(10),v_i)
     2903         if(ierr/=NF_NOERR) then
     2904            write(*,*) NF_STRERROR(ierr)
     2905            stop "getvarup"
     2906         endif
     2907 
     2908         ierr = NF90_GET_VAR(nid,var3didin(11),hadvt_i)
     2909         if(ierr/=NF_NOERR) then
     2910            write(*,*) NF_STRERROR(ierr)
     2911            stop "getvarup"
     2912         endif
     2913 
     2914         ierr = NF90_GET_VAR(nid,var3didin(12),hadvq_i)
     2915         if(ierr/=NF_NOERR) then
     2916            write(*,*) NF_STRERROR(ierr)
     2917            stop "getvarup"
     2918         endif
     2919 
     2920         ierr = NF90_GET_VAR(nid,var3didin(14),tsnow)
     2921         if(ierr/=NF_NOERR) then
     2922            write(*,*) NF_STRERROR(ierr)
     2923            stop "getvarup"
     2924         endif
     2925 
     2926         ierr = NF90_GET_VAR(nid,var3didin(15),snow_dens)
     2927         if(ierr/=NF_NOERR) then
     2928            write(*,*) NF_STRERROR(ierr)
     2929            stop "getvarup"
     2930         endif
     2931
     2932         ierr = NF90_GET_VAR(nid,var3didin(16),tg)
    32152933         if(ierr/=NF_NOERR) then
    32162934            write(*,*) NF_STRERROR(ierr)
Note: See TracChangeset for help on using the changeset viewer.