@@ -3770,48 +3770,94 @@ sub setup_logic_c_isotope {
37703770 $log -> warning(" use_c14 is ONLY scientifically validated with the bgc=BGC configuration" );
37713771 }
37723772 }
3773+ my $use_c14_bombspike = $nl -> get_value(' use_c14_bombspike' );
3774+ my $stream_fldfilename_atm_c14 = $nl -> get_value(' stream_fldfilename_atm_c14' );
3775+ my $atm_c14_filename = $nl -> get_value(' atm_c14_filename' );
37733776 if ( &value_is_true($use_c14 ) ) {
37743777 add_default($opts , $nl_flags -> {' inputdata_rootdir' }, $definition , $defaults , $nl , ' use_c14_bombspike' , ' use_c14' => $use_c14 );
3775- my $use_c14_bombspike = $nl -> get_value(' use_c14_bombspike' );
3778+ $use_c14_bombspike = $nl -> get_value(' use_c14_bombspike' );
37763779 if ( &value_is_true($use_c14_bombspike ) ) {
3777- add_default($opts , $nl_flags -> {' inputdata_rootdir' }, $definition , $defaults , $nl , ' atm_c14_filename' ,
3778- ' use_c14' => $use_c14 , ' use_cn' => $nl_flags -> {' use_cn' }, ' use_c14_bombspike' => $nl -> get_value(' use_c14_bombspike' ),
3779- ' ssp_rcp' => $nl_flags -> {' ssp_rcp' } );
3780+ if ( defined ($stream_fldfilename_atm_c14 ) ) {
3781+ setup_logic_c14_streams($opts , $nl_flags , $definition , $defaults , $nl );
3782+ } else {
3783+ add_default($opts , $nl_flags -> {' inputdata_rootdir' }, $definition , $defaults , $nl , ' atm_c14_filename' ,
3784+ ' use_c14' => $use_c14 , ' use_cn' => $nl_flags -> {' use_cn' }, ' use_c14_bombspike' => $nl -> get_value(' use_c14_bombspike' ),
3785+ ' ssp_rcp' => $nl_flags -> {' ssp_rcp' } );
3786+ }
3787+ $stream_fldfilename_atm_c14 = $nl -> get_value(' stream_fldfilename_atm_c14' );
3788+ $atm_c14_filename = $nl -> get_value(' atm_c14_filename' );
3789+ if ( defined ($stream_fldfilename_atm_c14 ) && defined ($atm_c14_filename ) ) {
3790+ $log -> fatal_error(" Both stream_fldfilename_atm_c14 and atm_c14_filename set, only one should be set" );
3791+ }
37803792 }
37813793 } else {
3782- if ( defined ($nl -> get_value(' use_c14_bombspike' )) ||
3783- defined ($nl -> get_value(' atm_c14_filename' )) ) {
3784- $log -> fatal_error(" use_c14 is FALSE and use_c14_bombspike or atm_c14_filename set" );
3794+ if ( defined ($use_c14_bombspike ) ||
3795+ defined ($stream_fldfilename_atm_c14 ) ||
3796+ defined ($atm_c14_filename ) ) {
3797+ $log -> fatal_error(" use_c14 is FALSE and use_c14_bombspike, stream_fldfilename_atm_c14 or atm_c14_filename set" );
37853798 }
37863799 }
3800+ my $use_c13_timeseries = $nl -> get_value(' use_c13_timeseries' );
3801+ my $stream_fldfilename_atm_c13 = $nl -> get_value(' stream_fldfilename_atm_c13' );
3802+ my $atm_c13_filename = $nl -> get_value(' atm_c13_filename' );
37873803 if ( &value_is_true($use_c13 ) ) {
37883804 add_default($opts , $nl_flags -> {' inputdata_rootdir' }, $definition , $defaults , $nl , ' use_c13_timeseries' , ' use_c13' => $use_c13 );
3789- my $use_c13_timeseries = $nl -> get_value(' use_c13_timeseries' );
3805+ $use_c13_timeseries = $nl -> get_value(' use_c13_timeseries' );
37903806 if ( &value_is_true($use_c13_timeseries ) ) {
3791- add_default($opts , $nl_flags -> {' inputdata_rootdir' }, $definition , $defaults , $nl , ' atm_c13_filename' ,
3792- ' use_c13' => $use_c13 , ' use_cn' => $nl_flags -> {' use_cn' }, ' use_c13_timeseries' => $nl -> get_value(' use_c13_timeseries' ),
3793- ' ssp_rcp' => $nl_flags -> {' ssp_rcp' } );
3807+ if ( defined ($stream_fldfilename_atm_c13 ) ) {
3808+ setup_logic_c13_streams($opts , $nl_flags , $definition , $defaults , $nl );
3809+ } else {
3810+ add_default($opts , $nl_flags -> {' inputdata_rootdir' }, $definition , $defaults , $nl , ' atm_c13_filename' ,
3811+ ' use_c13' => $use_c13 , ' use_cn' => $nl_flags -> {' use_cn' }, ' use_c13_timeseries' => $nl -> get_value(' use_c13_timeseries' ),
3812+ ' ssp_rcp' => $nl_flags -> {' ssp_rcp' } );
3813+ }
3814+ $stream_fldfilename_atm_c13 = $nl -> get_value(' stream_fldfilename_atm_c13' );
3815+ $atm_c13_filename = $nl -> get_value(' atm_c13_filename' );
3816+ if ( defined ($stream_fldfilename_atm_c13 ) && defined ($atm_c13_filename ) ) {
3817+ $log -> fatal_error(" Both stream_fldfilename_atm_c13 and atm_c13_filename set, only one should be set" );
3818+ }
37943819 }
37953820 } else {
37963821 if ( defined ($nl -> get_value(' use_c13_timeseries' )) ||
3822+ defined ($nl -> get_value(' stream_fldfilename_atm_c13' )) ||
37973823 defined ($nl -> get_value(' atm_c13_filename' )) ) {
3798- $log -> fatal_error(" use_c13 is FALSE and use_c13_timeseries or atm_c13_filename set" );
3824+ $log -> fatal_error(" use_c13 is FALSE and use_c13_timeseries, stream_fldfilename_atm_c13 or atm_c13_filename set" );
37993825 }
38003826 }
38013827 } else {
38023828 if ( &value_is_true($use_c13 ) ||
38033829 &value_is_true($use_c14 ) ||
38043830 &value_is_true($nl -> get_value(' use_c14_bombspike' )) ||
38053831 defined ($nl -> get_value(' atm_c14_filename' )) ||
3832+ defined ($nl -> get_value(' stream_fldfilename_atm_c14' )) ||
38063833 &value_is_true($nl -> get_value(' use_c13_timeseries' )) ||
3807- defined ($nl -> get_value(' atm_c13_filename' )) ) {
3834+ defined ($nl -> get_value(' atm_c13_filename' )) ||
3835+ defined ($nl -> get_value(' stream_fldfilename_atm_c13' )) ) {
38083836 $log -> fatal_error(" bgc=sp and C isotope namelist variables were set, both can't be used at the same time" );
38093837 }
38103838 }
38113839}
38123840
38133841# -------------------------------------------------------------------------------
38143842
3843+ sub setup_logic_c13_streams {
3844+ my ($opts , $nl_flags , $definition , $defaults , $nl ) = @_ ;
3845+ #
3846+ # C13 stream file settings
3847+ #
3848+ }
3849+
3850+ # -------------------------------------------------------------------------------
3851+
3852+ sub setup_logic_c14_streams {
3853+ my ($opts , $nl_flags , $definition , $defaults , $nl ) = @_ ;
3854+ #
3855+ # C14 stream file settings
3856+ #
3857+ }
3858+
3859+ # -------------------------------------------------------------------------------
3860+
38153861sub setup_logic_nitrogen_deposition {
38163862 my ($opts , $nl_flags , $definition , $defaults , $nl ) = @_ ;
38173863
@@ -5334,6 +5380,9 @@ sub write_output_files {
53345380 push @groups , " clm_canopy_inparm" ;
53355381 push @groups , " prigentroughness" ;
53365382 push @groups , " zendersoilerod" ;
5383+ if ( &value_is_true($nl_flags -> {' use_cn' }) ) {
5384+ push @groups , " carbon_isotope_streams" ;
5385+ }
53375386 if (remove_leading_and_trailing_quotes($nl -> get_value(' snow_cover_fraction_method' )) eq ' SwensonLawrence2012' ) {
53385387 push @groups , " scf_swenson_lawrence_2012_inparm" ;
53395388 }
0 commit comments