Ignore:
Timestamp:
Jul 28, 2025, 6:44:28 PM (7 days ago)
Author:
aborella
Message:

Major modifs to treatment of contrails (from 2 classes to 2 moments) + diagnostics. Increased numerical efficiency

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/contrails/libf/phylmd/phys_output_ctrlout_mod.F90

    r5779 r5790  
    25152515  TYPE(ctrl_out), SAVE :: o_dqavi = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    25162516    'dqavi', 'Water vapor emissions from aviation tendency', 'kg/kg/s', (/ ('',i=1,10) /))
    2517   TYPE(ctrl_out), SAVE :: o_cflseri = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    2518     'cflseri', 'Linear contrail fraction', '-', (/ ('',i=1,10) /))
    2519   TYPE(ctrl_out), SAVE :: o_dcfldyn = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    2520     'dcfldyn', 'Dynamics linear contrail fraction tendency', 's-1', (/ ('',i=1,10) /))
    25212517  TYPE(ctrl_out), SAVE :: o_cfcseri = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    2522     'cfcseri', 'Contrail cirrus fraction', '-', (/ ('',i=1,10) /))
     2518    'cfcseri', 'Contrail fraction', '-', (/ ('',i=1,10) /))
    25232519  TYPE(ctrl_out), SAVE :: o_dcfcdyn = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    2524     'dcfcdyn', 'Dynamics contrail cirrus fraction tendency', 's-1', (/ ('',i=1,10) /))
    2525   TYPE(ctrl_out), SAVE :: o_qtlseri = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    2526     'qtlseri', 'Linear contrail total specific humidity', 'kg/kg', (/ ('',i=1,10) /))
    2527   TYPE(ctrl_out), SAVE :: o_dqtldyn = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    2528     'dqtldyn', 'Dynamics linear contrail total specific humidity tendency', 'kg/kg/s', (/ ('',i=1,10) /))
     2520    'dcfcdyn', 'Dynamics contrail fraction tendency', 's-1', (/ ('',i=1,10) /))
    25292521  TYPE(ctrl_out), SAVE :: o_qtcseri = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    2530     'qtcseri', 'Contrail cirrus total specific humidity', 'kg/kg', (/ ('',i=1,10) /))
     2522    'qtcseri', 'Contrail total specific humidity', 'kg/kg', (/ ('',i=1,10) /))
    25312523  TYPE(ctrl_out), SAVE :: o_dqtcdyn = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    2532     'dqtcdyn', 'Dynamics contrail cirrus total specific humidity tendency', 'kg/kg/s', (/ ('',i=1,10) /))
     2524    'dqtcdyn', 'Dynamics contrail total specific humidity tendency', 'kg/kg/s', (/ ('',i=1,10) /))
     2525  TYPE(ctrl_out), SAVE :: o_nicseri = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
     2526    'nicseri', 'Contrail ice crystals number concentration', '#/kg', (/ ('',i=1,10) /))
     2527  TYPE(ctrl_out), SAVE :: o_dnicdyn = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
     2528    'dnicdyn', 'Dynamics contrail ice crystals number concentration tendency', '#/kg/s', (/ ('',i=1,10) /))
    25332529  TYPE(ctrl_out), SAVE :: o_Tcritcont = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    25342530    'Tcritcont', 'Temperature threshold for contrail formation', 'K', (/ ('',i=1,10) /))
     
    25392535  TYPE(ctrl_out), SAVE :: o_potcontfraNP = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/),&
    25402536    'potcontfraNP', 'Potential non-persistent contrail fraction', '-', (/ ('', i=1,10)/))
    2541   TYPE(ctrl_out), SAVE :: o_qice_lincont = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2542     'qice_lincont', 'Linear contrails ice specific humidity', 'kg/kg', (/ ('', i=1, 10) /))
    2543   TYPE(ctrl_out), SAVE :: o_qice_circont = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2544     'qice_circont', 'Contrail cirrus ice specific humidity', 'kg/kg', (/ ('', i=1, 10) /))
    2545   TYPE(ctrl_out), SAVE :: o_dcflini = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2546     'dcflini', 'Initial formation linear contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    2547   TYPE(ctrl_out), SAVE :: o_dqilini = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2548     'dqilini', 'Initial formation linear contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2549   TYPE(ctrl_out), SAVE :: o_dqtlini = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2550     'dqtlini', 'Initial formation linear contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2551   TYPE(ctrl_out), SAVE :: o_dcflcir = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2552     'dcflcir', 'Conversion to cirrus linear contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    2553   TYPE(ctrl_out), SAVE :: o_dqtlcir = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2554     'dqtlcir', 'Conversion to cirrus linear contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2555   TYPE(ctrl_out), SAVE :: o_dcflsub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2556     'dcflsub', 'Sublimation linear contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    2557   TYPE(ctrl_out), SAVE :: o_dqilsub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2558     'dqilsub', 'Sublimation linear contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2559   TYPE(ctrl_out), SAVE :: o_dqtlsub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2560     'dqtlsub', 'Sublimation linear contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2561   TYPE(ctrl_out), SAVE :: o_dcflmix = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2562     'dcflmix', 'Mixing linear contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    2563   TYPE(ctrl_out), SAVE :: o_dqilmix = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2564     'dqilmix', 'Mixing linear contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2565   TYPE(ctrl_out), SAVE :: o_dqtlmix = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2566     'dqtlmix', 'Mixing linear contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2567   TYPE(ctrl_out), SAVE :: o_dcflsed = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2568     'dcflsed', 'Ice sedimentation linear contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    2569   TYPE(ctrl_out), SAVE :: o_dqilsed = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2570     'dqilsed', 'Ice sedimentation linear contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2571   TYPE(ctrl_out), SAVE :: o_dqtlsed = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2572     'dqtlsed', 'Ice sedimentation linear contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2537  TYPE(ctrl_out), SAVE :: o_qice_cont = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2538    'qice_cont', 'Contrails ice specific humidity', 'kg/kg', (/ ('', i=1, 10) /))
     2539  TYPE(ctrl_out), SAVE :: o_dcfcini = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2540    'dcfcini', 'Initial formation contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
     2541  TYPE(ctrl_out), SAVE :: o_dqicini = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2542    'dqicini', 'Initial formation contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2543  TYPE(ctrl_out), SAVE :: o_dqtcini = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2544    'dqtcini', 'Initial formation contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2545  TYPE(ctrl_out), SAVE :: o_dnicini = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2546    'dnicini', 'Initial formation contrail ice crystals concentration tendency', '#/kg/s', (/ ('', i=1, 10) /))
    25732547  TYPE(ctrl_out), SAVE :: o_dcfcsed = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2574     'dcfcsed', 'Ice sedimentation contrail cirrus fraction tendency', 's-1', (/ ('', i=1, 10) /))
     2548    'dcfcsed', 'Ice sedimentation contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    25752549  TYPE(ctrl_out), SAVE :: o_dqicsed = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2576     'dqicsed', 'Ice sedimentation contrail cirrus ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2550    'dqicsed', 'Ice sedimentation contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    25772551  TYPE(ctrl_out), SAVE :: o_dqtcsed = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2578     'dqtcsed', 'Ice sedimentation contrail cirrus total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2579   TYPE(ctrl_out), SAVE :: o_dcflauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2580     'dcflauto', 'Ice autoconversion linear contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    2581   TYPE(ctrl_out), SAVE :: o_dqilauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2582     'dqilauto', 'Ice autoconversion linear contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    2583   TYPE(ctrl_out), SAVE :: o_dqtlauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2584     'dqtlauto', 'Ice autoconversion linear contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2552    'dqtcsed', 'Ice sedimentation contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2553  TYPE(ctrl_out), SAVE :: o_dnicsed = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2554    'dnicsed', 'Ice sedimentation contrail ice crystals concentration tendency', '#/kg/s', (/ ('', i=1, 10) /))
    25852555  TYPE(ctrl_out), SAVE :: o_dcfcauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2586     'dcfcauto', 'Ice autoconversion contrail cirrus fraction tendency', 's-1', (/ ('', i=1, 10) /))
     2556    'dcfcauto', 'Ice autoconversion contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    25872557  TYPE(ctrl_out), SAVE :: o_dqicauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2588     'dqicauto', 'Ice autoconversion contrail cirrus ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2558    'dqicauto', 'Ice autoconversion contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    25892559  TYPE(ctrl_out), SAVE :: o_dqtcauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2590     'dqtcauto', 'Ice autoconversion contrail cirrus total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2560    'dqtcauto', 'Ice autoconversion contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2561  TYPE(ctrl_out), SAVE :: o_dnicauto = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2562    'dnicauto', 'Ice autoconversion contrail ice crystals concentration tendency', '#/kg/s', (/ ('', i=1, 10) /))
    25912563  TYPE(ctrl_out), SAVE :: o_dcfcsub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2592     'dcfcsub', 'Sublimation contrail cirrus fraction tendency', 's-1', (/ ('', i=1, 10) /))
     2564    'dcfcsub', 'Sublimation contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    25932565  TYPE(ctrl_out), SAVE :: o_dqicsub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2594     'dqicsub', 'Sublimation contrail cirrus ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2566    'dqicsub', 'Sublimation contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    25952567  TYPE(ctrl_out), SAVE :: o_dqtcsub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2596     'dqtcsub', 'Sublimation contrail cirrus total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2568    'dqtcsub', 'Sublimation contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2569  TYPE(ctrl_out), SAVE :: o_dnicsub = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2570    'dnicsub', 'Sublimation contrail ice crystals concentration tendency', '#/kg/s', (/ ('', i=1, 10) /))
    25972571  TYPE(ctrl_out), SAVE :: o_dcfcmix = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2598     'dcfcmix', 'Mixing contrail cirrus fraction tendency', 's-1', (/ ('', i=1, 10) /))
     2572    'dcfcmix', 'Mixing contrail fraction tendency', 's-1', (/ ('', i=1, 10) /))
    25992573  TYPE(ctrl_out), SAVE :: o_dqicmix = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2600     'dqicmix', 'Mixing contrail cirrus ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2574    'dqicmix', 'Mixing contrail ice specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
    26012575  TYPE(ctrl_out), SAVE :: o_dqtcmix = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2602     'dqtcmix', 'Mixing contrail cirrus total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2576    'dqtcmix', 'Mixing contrail total specific humidity tendency', 'kg/kg/s', (/ ('', i=1, 10) /))
     2577  TYPE(ctrl_out), SAVE :: o_dnicmix = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2578    'dnicmix', 'Mixing contrail ice crystals concentration tendency', '#/kg/s', (/ ('', i=1, 10) /))
     2579  TYPE(ctrl_out), SAVE :: o_dnicagg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2580    'dnicagg', 'Aggregation contrail ice crystals concentration tendency', '#/kg/s', (/ ('', i=1, 10) /))
    26032581  TYPE(ctrl_out), SAVE :: o_flight_dist = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    26042582    'flightdist', 'Aviation flown distance', 'm/s/m^3', (/ ('', i=1, 10) /))
    2605   TYPE(ctrl_out), SAVE :: o_flight_h2o = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    2606     'flighth2o', 'Aviation H2O flight emission', 'kg H2O/s/m^3', (/ ('', i=1, 10) /))
     2583  TYPE(ctrl_out), SAVE :: o_flight_fuel = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2584    'flightfuel', 'Aviation fuel consumption', 'kg/s/m^3', (/ ('', i=1, 10) /))
     2585  TYPE(ctrl_out), SAVE :: o_AEI_contrails = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2586    'AEI_cont', 'Apparent emission index contrails', '#/kg', (/ ('', i=1, 10) /))
     2587  TYPE(ctrl_out), SAVE :: o_AEI_surv_contrails = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2588    'AEI_surv_cont', 'Apparent emission index contrails after vortex loss', '#/kg', (/ ('', i=1, 10) /))
     2589  TYPE(ctrl_out), SAVE :: o_fsurv_contrails = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2590    'fsurv_cont', 'Survival fraction after vortex loss', '-', (/ ('', i=1, 10) /))
     2591  TYPE(ctrl_out), SAVE :: o_section_contrails = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
     2592    'section_cont', 'Cross section of newly formed contrails', 'm2', (/ ('', i=1, 10) /))
    26072593  TYPE(ctrl_out), SAVE :: o_cldfra_nocont = ctrl_out((/ 11, 11, 11, 11, 11, 11, 11, 11, 11, 11/), &
    26082594    'cldfra_nocont', 'Cloud fraction w/o contrails', '-', (/ ('', i=1, 10) /))
Note: See TracChangeset for help on using the changeset viewer.