<commit_before>// ============================================================================
// The default profile
// ============================================================================

Profile
{
  name = default

  Supply
  {
    resource = ElectricCharge
    on_pod = 50.0
    on_eva = 33.0
    on_rescue = 10000.0
    low_message = $VESSEL batteries are almost empty@<i>We are squeezing the last bit of juice</i>|$VESSEL batteries are almost empty@<i>Shutting down non-essential systems</i>
    empty_message = There is no more ElectricCharge on $VESSEL@<i>Life support systems are off</i>|There is no more ElectricCharge on $VESSEL@<i>We lost control</i>
    refill_message = $VESSEL batteries recharged@<i>The crew is allowed music again</i>|$VESSEL batteries recharged@<i>Systems are back online</i>
  }

  Supply
  {
    resource = Food
    on_pod = 31.491405
    on_rescue = 50.0
    low_message = Food reserves are getting low on $VESSEL@<i>Anything edible is being scrutinized</i>
    empty_message = There is no more food on $VESSEL@<i>The crew prepare for the inevitable</i>
    refill_message = $VESSEL food reserves restored@<i>Double snack rations for everybody</i>
  }

  Supply
  {
    resource = Water
    on_pod = 12.1
    on_rescue = 25.0
    low_message = Water reserves are getting low on $VESSEL@<i>Hygiene schedule suspended until further notice</i>
    empty_message = There is no more water on $VESSEL@<i>Licking the condense is not a viable solution</i>
    refill_message = $VESSEL water reserves restored@<i>The situation look much better now</i>
  }

  Supply
  {
    resource = Oxygen
    on_pod = 2978.7
    on_eva = 200.0
    on_rescue = 5000.0
    low_message = Oxygen reserves are dangerously low on $VESSEL@<i>There is mild panic among the crew</i>
    empty_message = There is no more oxygen on $VESSEL@<i>Everybody stop breathing</i>
    refill_message = $VESSEL oxygen reserves restored@<i>The crew is taking a breather</i>
  }

  Supply
  {
    resource = Nitrogen
    low_message = Nitrogen reserves are getting low on $VESSEL
    empty_message = There is no more nitrogen on $VESSEL@<i>Time to go back in the suits</i>
    refill_message = $VESSEL nitrogen reserves restored@<i>Let's get out of these damn suits</i>
  }

  Supply
  {
    resource = Hydrogen
    low_message = Hydrogen tanks are almost empty on $VESSEL
    empty_message = There is no more hydrogen on $VESSEL tanks
    refill_message = $VESSEL hydrogen tanks refilled
  }

  Supply
  {
    resource = Ammonia
    low_message = Ammonia tanks are almost empty on $VESSEL
    empty_message = There is no more ammonia on $VESSEL tanks@<i>Maybe it is time for some smelly alternative</i>
    refill_message = $VESSEL ammonia tanks refilled
  }

  Rule
  {
    name = climatization
    input = ElectricCharge
    rate = 0.0001 // per-kelvin (temp diff), per m^3 (living space), per-second
    degeneration = 0.00000007 // about 2h at 100k temp diff in 20m^3
    modifier = temperature,volume,per_capita
    warning_message = $ON_VESSEL$KERBAL feels cold|$ON_VESSEL$KERBAL is sweating
    danger_message = $ON_VESSEL$KERBAL is freezing to death|$ON_VESSEL$KERBAL is burning alive
    fatal_message = $ON_VESSEL$KERBAL froze to death|$ON_VESSEL$KERBAL was burned alive
    relax_message = $ON_VESSEL$KERBAL hypothermia is under control|$ON_VESSEL$KERBAL is hugging the climatizer
  }

  Rule
  {
    name = eating
    input = Food
    output = Waste
    rate = 3.145 // 1.77 Kg per-day
    interval = 10800.0 // 2 meals per-day
    degeneration = 0.03333 // 30 meals, 15 days
    warning_message = $ON_VESSEL$KERBAL is hungry
    danger_message = $ON_VESSEL$KERBAL is starving
    fatal_message = $ON_VESSEL$KERBAL starved to death
    relax_message = $ON_VESSEL$KERBAL is enjoying some snacks right now
  }

  Rule
  {
    name = drinking
    input = Water
    output = WasteWater
    rate = 0.605 // 2.42 Kg per-day
    interval = 5400.0 // 4 drinks per-day
    degeneration = 0.08333 // 12 drinks, 3 days
    warning_message = $ON_VESSEL$KERBAL is thirsty
    danger_message = $ON_VESSEL$KERBAL is dehydrated
    fatal_message = $ON_VESSEL$KERBAL died from dehydration
    relax_message = $ON_VESSEL$KERBAL is enjoying some drinks right now
  }

  Rule
  {
    name = breathing
    input = Oxygen
    output = WasteAtmosphere
    rate = 0.02758 // 0.84 Kg per-day
    degeneration = 0.0055555 // 3 minutes
    modifier = breathable
    warning_message = $ON_VESSEL$KERBAL can't breathe
    danger_message = $ON_VESSEL$KERBAL is suffocating
    fatal_message = $ON_VESSEL$KERBAL suffocated to death
    relax_message = $ON_VESSEL$KERBAL is breathing again
  }

  Rule
  {
    name = co2 poisoning
    degeneration = 0.0005555 // 30 minutes
    modifier = poisoning
    warning_message = $ON_VESSEL$KERBAL's head feels light
    danger_message = $ON_VESSEL$KERBAL seem unable to breath properly
    fatal_message = $ON_VESSEL$KERBAL died of co2 poisoning
    relax_message = $ON_VESSEL$KERBAL is breathing again
  }

  Rule
  {
    name = stress
    degeneration = 0.00000000463 // 10000 days
    variance = 0.33 // add per-kerbal variance
    modifier = living_space,comfort,pressure
    breakdown = true // trigger breakdown event instead of death
    warning_message = $ON_VESSEL$KERBAL is losing $HIS_HER mind@<i>Concentration is becoming a problem</i>
    danger_message = $ON_VESSEL$KERBAL is about to breakdown@<i>Starting to hear voices</i>
    relax_message = $ON_VESSEL$KERBAL is thinking straight now@<i>Let's do it again!</i>
  }

  Rule
  {
    name = radiation
    degeneration = 1.0 // just use the modifier
    variance = 0.1 // add per-kerbal variance
    modifier = radiation,shielding
    warning_threshold = 25.0
    danger_threshold = 37.5
    fatal_threshold = 50.0
    warning_message = $ON_VESSEL$KERBAL has been exposed to intense radiation
    danger_message = $ON_VESSEL$KERBAL is reporting symptoms of radiation poisoning
    fatal_message = $ON_VESSEL$KERBAL died after being exposed to extreme radiation
    relax_message = $ON_VESSEL$KERBAL has recovered from radiation exposure
  }

  // convention: 1 capacity = enough to scrub output of 1 crew member for 1 day
  Process
  {
    name = non-regenerative scrubber
    modifier = _NonRegenScrubber
    input = WasteAtmosphere@0.00004       // capacity start at 2, reach 1 in 6h, then drop below
    input = _NonRegenScrubber@0.000023148 // consume 0.5 capacity in 6h
  }

  // convention: 1 capacity = enough to scrub output of 1 crew memeber
  Process
  {
    name = scrubber
    modifier = _Scrubber
    input = ElectricCharge@0.025
    input = WasteAtmosphere@0.00002
    output = CarbonDioxide@0.02
  }

  // convention: 1 capacity = enough to compensate for leaks in 70 m^2 surface (a cube of 40 m^3 volume)
  Process
  {
    name = pressure control
    modifier = _PressureControl
    input = ElectricCharge@0.3
    input = Nitrogen@0.35
    output = Atmosphere@0.00035
    dump = false
  }

  // convention: 1 capacity = enough to recycle output of 1 crew member
  Process
  {
    name = water recycler
    modifier = _WaterRecycler
    input = ElectricCharge@0.0446
    input = WasteWater@0.0001115
    output = Water@0.0000892
    output = Waste@0.0000223
    dump = Waste
  }


  // convention: 1 capacity = enough to process output of 1 crew member
  Process
  {
    name = waste processor
    modifier = _WasteProcessor
    input = ElectricCharge@0.065556
    input = Waste@0.00010926
    output = Ammonia@0.05463
    dump = Waste
  }

  // convention: 1 capacity = enough to compress output of 1 crew member
  Process
  {
    name = waste compressor
    modifier = _WasteCompressor
    input = ElectricCharge@1.2
    input = Waste@0.00010926
    output = Shielding@0.0000003847183
    dump = false
  }

  Process
  {
    name = atmo leaks
    modifier = surface,breathable
    input = Atmosphere@0.000000148
    // from ISS: 899 m³ volume, 452 m² surface (estimated), 0.227 Kg/day (structural) + 1.543 Kg/day (activities)
  }

  Process
  {
    name = radioisotope generator
    modifier = _RTG
    input = _RTG@0.000000001888 // 28.8 kerbin-year half-life
    output = ElectricCharge@1.0
  }

  Process
  {
    name = fuel cell
    modifier = _FuelCell
    input = Hydrogen@1.0
    input = Oxygen@0.5065967706
    output = Water@0.0008043014
    output = ElectricCharge@0.5
    dump = Water
  }

  Process
  {
    name = monoprop fuel cell
    modifier = _MonopropFuelCell
    input = Oxygen@0.510619148925
    input = MonoPropellant@0.000901270123875 // (Hydrazine@0.000718143525)
    output = Nitrogen@0.5038381295
    output = Water@0.0008106876
    output = ElectricCharge@0.1
    dump = Nitrogen,Water
  }

  Process
  {
    name = water electrolysis
    modifier = _WaterElectrolysis
    input = ElectricCharge@0.5
    input = Water@0.0008043014
    output = Hydrogen@1.0
    output = Oxygen@0.5065967706
  }

  Process
  {
    name = waste incinerator
    modifier = _WasteIncinerator
    input = Waste@0.0001082667 // H18C82
    input = Oxygen@0.1589194249
    output = CarbonDioxide@0.1497439605
    output = Water@0.0000131259
    output = ElectricCharge@0.005
    dump = Water,ElectricCharge
  }

  Process
  {
    name = sabatier process
    modifier = _Sabatier
    input = ElectricCharge@0.5
    input = CarbonDioxide@0.2514920085
    input = Hydrogen@1.0
    output = Water@0.0004017039
    output = LiquidFuel@0.0001788570195417 // (Methane@0.2494519101)
  }

  Process
  {
    name = haber process
    modifier = _Haber
    input = Nitrogen@0.3328758387
    input = Hydrogen@1.0
    output = Ammonia@0.6584235036
  }

  Process
  {
    name = anthraquinone process
    modifier = _Anthraquinone
    input = Hydrogen@1.0
    input = Oxygen@1.0120677706
    output = Oxidizer@0.001516915615 // (HydrogenPeroxide@0.0010461487)
  }

  Process
  {
    name = hydrazine production
    modifier = _HydrazineProduction
    input = Ammonia@3.9863420068
    input = Oxidizer@0.003061324535 // (HydrogenPeroxide@0.0021112583)
    output = Water@0.0032427540
    output = MonoPropellant@0.0036050845115 // (Hydrazine@0.0028725773)
  }

  Process
  {
    name = solid oxide electrolysis
    modifier = _SOE
    input = ElectricCharge@1.0
    input = CarbonDioxide@2.0341107125
    output = Oxygen@2.0464446424
    // Carbon@0.0005157443 is wasted
  }

  Process
  {
    name = molten regolith electrolysis
    modifier = _MRE
    input = ElectricCharge@1.0
    input = Ore@0.002228327217 // (Ilmenite@0.0010322928)
    output = Oxygen@1.0
    // Iron@0.0002084509 is wasted
    // Titanium@0.0003124769 is wasted
  }

  Process
  {
    name = selective catalytic oxidation
    modifier = _SCO
    input = ElectricCharge@0.5
    input = Ammonia@0.0500000000
    input = Oxygen@0.0384276596
    output = Nitrogen@0.0252781775
    output = Water@0.0000610100
    dump = Water<commit_msg>More realistic molten regolith electrolysis with shielding production<commit_after>// ============================================================================
// The default profile
// ============================================================================

Profile
{
  name = default

  Supply
  {
    resource = ElectricCharge
    on_pod = 50.0
    on_eva = 33.0
    on_rescue = 10000.0
    low_message = $VESSEL batteries are almost empty@<i>We are squeezing the last bit of juice</i>|$VESSEL batteries are almost empty@<i>Shutting down non-essential systems</i>
    empty_message = There is no more ElectricCharge on $VESSEL@<i>Life support systems are off</i>|There is no more ElectricCharge on $VESSEL@<i>We lost control</i>
    refill_message = $VESSEL batteries recharged@<i>The crew is allowed music again</i>|$VESSEL batteries recharged@<i>Systems are back online</i>
  }

  Supply
  {
    resource = Food
    on_pod = 31.491405
    on_rescue = 50.0
    low_message = Food reserves are getting low on $VESSEL@<i>Anything edible is being scrutinized</i>
    empty_message = There is no more food on $VESSEL@<i>The crew prepare for the inevitable</i>
    refill_message = $VESSEL food reserves restored@<i>Double snack rations for everybody</i>
  }

  Supply
  {
    resource = Water
    on_pod = 12.1
    on_rescue = 25.0
    low_message = Water reserves are getting low on $VESSEL@<i>Hygiene schedule suspended until further notice</i>
    empty_message = There is no more water on $VESSEL@<i>Licking the condense is not a viable solution</i>
    refill_message = $VESSEL water reserves restored@<i>The situation look much better now</i>
  }

  Supply
  {
    resource = Oxygen
    on_pod = 2978.7
    on_eva = 200.0
    on_rescue = 5000.0
    low_message = Oxygen reserves are dangerously low on $VESSEL@<i>There is mild panic among the crew</i>
    empty_message = There is no more oxygen on $VESSEL@<i>Everybody stop breathing</i>
    refill_message = $VESSEL oxygen reserves restored@<i>The crew is taking a breather</i>
  }

  Supply
  {
    resource = Nitrogen
    low_message = Nitrogen reserves are getting low on $VESSEL
    empty_message = There is no more nitrogen on $VESSEL@<i>Time to go back in the suits</i>
    refill_message = $VESSEL nitrogen reserves restored@<i>Let's get out of these damn suits</i>
  }

  Supply
  {
    resource = Hydrogen
    low_message = Hydrogen tanks are almost empty on $VESSEL
    empty_message = There is no more hydrogen on $VESSEL tanks
    refill_message = $VESSEL hydrogen tanks refilled
  }

  Supply
  {
    resource = Ammonia
    low_message = Ammonia tanks are almost empty on $VESSEL
    empty_message = There is no more ammonia on $VESSEL tanks@<i>Maybe it is time for some smelly alternative</i>
    refill_message = $VESSEL ammonia tanks refilled
  }

  Rule
  {
    name = climatization
    input = ElectricCharge
    rate = 0.0001 // per-kelvin (temp diff), per m^3 (living space), per-second
    degeneration = 0.00000007 // about 2h at 100k temp diff in 20m^3
    modifier = temperature,volume,per_capita
    warning_message = $ON_VESSEL$KERBAL feels cold|$ON_VESSEL$KERBAL is sweating
    danger_message = $ON_VESSEL$KERBAL is freezing to death|$ON_VESSEL$KERBAL is burning alive
    fatal_message = $ON_VESSEL$KERBAL froze to death|$ON_VESSEL$KERBAL was burned alive
    relax_message = $ON_VESSEL$KERBAL hypothermia is under control|$ON_VESSEL$KERBAL is hugging the climatizer
  }

  Rule
  {
    name = eating
    input = Food
    output = Waste
    rate = 3.145 // 1.77 Kg per-day
    interval = 10800.0 // 2 meals per-day
    degeneration = 0.03333 // 30 meals, 15 days
    warning_message = $ON_VESSEL$KERBAL is hungry
    danger_message = $ON_VESSEL$KERBAL is starving
    fatal_message = $ON_VESSEL$KERBAL starved to death
    relax_message = $ON_VESSEL$KERBAL is enjoying some snacks right now
  }

  Rule
  {
    name = drinking
    input = Water
    output = WasteWater
    rate = 0.605 // 2.42 Kg per-day
    interval = 5400.0 // 4 drinks per-day
    degeneration = 0.08333 // 12 drinks, 3 days
    warning_message = $ON_VESSEL$KERBAL is thirsty
    danger_message = $ON_VESSEL$KERBAL is dehydrated
    fatal_message = $ON_VESSEL$KERBAL died from dehydration
    relax_message = $ON_VESSEL$KERBAL is enjoying some drinks right now
  }

  Rule
  {
    name = breathing
    input = Oxygen
    output = WasteAtmosphere
    rate = 0.02758 // 0.84 Kg per-day
    degeneration = 0.0055555 // 3 minutes
    modifier = breathable
    warning_message = $ON_VESSEL$KERBAL can't breathe
    danger_message = $ON_VESSEL$KERBAL is suffocating
    fatal_message = $ON_VESSEL$KERBAL suffocated to death
    relax_message = $ON_VESSEL$KERBAL is breathing again
  }

  Rule
  {
    name = co2 poisoning
    degeneration = 0.0005555 // 30 minutes
    modifier = poisoning
    warning_message = $ON_VESSEL$KERBAL's head feels light
    danger_message = $ON_VESSEL$KERBAL seem unable to breath properly
    fatal_message = $ON_VESSEL$KERBAL died of co2 poisoning
    relax_message = $ON_VESSEL$KERBAL is breathing again
  }

  Rule
  {
    name = stress
    degeneration = 0.00000000463 // 10000 days
    variance = 0.33 // add per-kerbal variance
    modifier = living_space,comfort,pressure
    breakdown = true // trigger breakdown event instead of death
    warning_message = $ON_VESSEL$KERBAL is losing $HIS_HER mind@<i>Concentration is becoming a problem</i>
    danger_message = $ON_VESSEL$KERBAL is about to breakdown@<i>Starting to hear voices</i>
    relax_message = $ON_VESSEL$KERBAL is thinking straight now@<i>Let's do it again!</i>
  }

  Rule
  {
    name = radiation
    degeneration = 1.0 // just use the modifier
    variance = 0.1 // add per-kerbal variance
    modifier = radiation,shielding
    warning_threshold = 25.0
    danger_threshold = 37.5
    fatal_threshold = 50.0
    warning_message = $ON_VESSEL$KERBAL has been exposed to intense radiation
    danger_message = $ON_VESSEL$KERBAL is reporting symptoms of radiation poisoning
    fatal_message = $ON_VESSEL$KERBAL died after being exposed to extreme radiation
    relax_message = $ON_VESSEL$KERBAL has recovered from radiation exposure
  }

  // convention: 1 capacity = enough to scrub output of 1 crew member for 1 day
  Process
  {
    name = non-regenerative scrubber
    modifier = _NonRegenScrubber
    input = WasteAtmosphere@0.00004       // capacity start at 2, reach 1 in 6h, then drop below
    input = _NonRegenScrubber@0.000023148 // consume 0.5 capacity in 6h
  }

  // convention: 1 capacity = enough to scrub output of 1 crew memeber
  Process
  {
    name = scrubber
    modifier = _Scrubber
    input = ElectricCharge@0.025
    input = WasteAtmosphere@0.00002
    output = CarbonDioxide@0.02
  }

  // convention: 1 capacity = enough to compensate for leaks in 70 m^2 surface (a cube of 40 m^3 volume)
  Process
  {
    name = pressure control
    modifier = _PressureControl
    input = ElectricCharge@0.3
    input = Nitrogen@0.35
    output = Atmosphere@0.00035
    dump = false
  }

  // convention: 1 capacity = enough to recycle output of 1 crew member
  Process
  {
    name = water recycler
    modifier = _WaterRecycler
    input = ElectricCharge@0.0446
    input = WasteWater@0.0001115
    output = Water@0.0000892
    output = Waste@0.0000223
    dump = Waste
  }


  // convention: 1 capacity = enough to process output of 1 crew member
  Process
  {
    name = waste processor
    modifier = _WasteProcessor
    input = ElectricCharge@0.065556
    input = Waste@0.00010926
    output = Ammonia@0.05463
    dump = Waste
  }

  // convention: 1 capacity = enough to compress output of 1 crew member
  Process
  {
    name = waste compressor
    modifier = _WasteCompressor
    input = ElectricCharge@1.2
    input = Waste@0.00010926
    output = Shielding@0.0000003847183
    dump = false
  }

  Process
  {
    name = atmo leaks
    modifier = surface,breathable
    input = Atmosphere@0.000000148
    // from ISS: 899 m³ volume, 452 m² surface (estimated), 0.227 Kg/day (structural) + 1.543 Kg/day (activities)
  }

  Process
  {
    name = radioisotope generator
    modifier = _RTG
    input = _RTG@0.000000001888 // 28.8 kerbin-year half-life
    output = ElectricCharge@1.0
  }

  Process
  {
    name = fuel cell
    modifier = _FuelCell
    input = Hydrogen@1.0
    input = Oxygen@0.5065967706
    output = Water@0.0008043014
    output = ElectricCharge@0.5
    dump = Water
  }

  Process
  {
    name = monoprop fuel cell
    modifier = _MonopropFuelCell
    input = Oxygen@0.510619148925
    input = MonoPropellant@0.000901270123875 // (Hydrazine@0.000718143525)
    output = Nitrogen@0.5038381295
    output = Water@0.0008106876
    output = ElectricCharge@0.1
    dump = Nitrogen,Water
  }

  Process
  {
    name = water electrolysis
    modifier = _WaterElectrolysis
    input = ElectricCharge@0.5
    input = Water@0.0008043014
    output = Hydrogen@1.0
    output = Oxygen@0.5065967706
  }

  Process
  {
    name = waste incinerator
    modifier = _WasteIncinerator
    input = Waste@0.0001082667 // H18C82
    input = Oxygen@0.1589194249
    output = CarbonDioxide@0.1497439605
    output = Water@0.0000131259
    output = ElectricCharge@0.005
    dump = Water,ElectricCharge
  }

  Process
  {
    name = sabatier process
    modifier = _Sabatier
    input = ElectricCharge@0.5
    input = CarbonDioxide@0.2514920085
    input = Hydrogen@1.0
    output = Water@0.0004017039
    output = LiquidFuel@0.0001788570195417 // (Methane@0.2494519101)
  }

  Process
  {
    name = haber process
    modifier = _Haber
    input = Nitrogen@0.3328758387
    input = Hydrogen@1.0
    output = Ammonia@0.6584235036
  }

  Process
  {
    name = anthraquinone process
    modifier = _Anthraquinone
    input = Hydrogen@1.0
    input = Oxygen@1.0120677706
    output = Oxidizer@0.001516915615 // (HydrogenPeroxide@0.0010461487)
  }

  Process
  {
    name = hydrazine production
    modifier = _HydrazineProduction
    input = Ammonia@3.9863420068
    input = Oxidizer@0.003061324535 // (HydrogenPeroxide@0.0021112583)
    output = Water@0.0032427540
    output = MonoPropellant@0.0036050845115 // (Hydrazine@0.0028725773)
  }

  Process
  {
    name = solid oxide electrolysis
    modifier = _SOE
    input = ElectricCharge@1.0
    input = CarbonDioxide@2.0341107125
    output = Oxygen@2.0464446424
    // Carbon@0.0005157443 is wasted
  }

  Process
  {
    name = molten regolith electrolysis
    modifier = _MRE
    input = ElectricCharge@2.0 // 2 kW MRE reactor at 2300 K with heat corrosion resistant crucible 
    input = Ore@0.00006342
    output = Oxygen@0.088843
    output = Shielding@0.000000112
    // Slag is wasted
  }

  Process
  {
    name = selective catalytic oxidation
    modifier = _SCO
    input = ElectricCharge@0.5
    input = Ammonia@0.0500000000
    input = Oxygen@0.0384276596
    output = Nitrogen@0.0252781775
    output = Water@0.0000610100
    dump = Water
{'fraction_non_alphanumeric': 0.09063485534073769, 'fraction_numerical': 0.07628319393025275, 'mean_word_length': 3.0782851817334578, 'pattern_counts': {'":': 0, '<': 87, '<?xml version=': 0, '>': 87, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 8, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 2, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3001875', 'n_tokens_mistral': 8603, 'n_tokens_neox': 7218, 'n_words': 2020}