CEILING_LIMIT

This function retrieves occupational ceiling exposure limits for a chemical identified by CAS Registry Number. A ceiling limit is a concentration that should not be exceeded at any point during exposure.

The result is returned as a JSON object containing numeric value and units (ppm or mg/m^3), preserving the source unit instead of forcing conversion.

Excel Usage

=CEILING_LIMIT(CASRN, method)
  • CASRN (str, required): Chemical Abstracts Service Registry Number identifier (-).
  • method (str, optional, default: null): Source method name used for ceiling limit lookup (-).

Returns (str): JSON string containing value and units.

Example 1: Acetaldehyde Ceiling

Inputs:

CASRN
75-07-0

Excel formula:

=CEILING_LIMIT("75-07-0")

Expected output:

"{\"value\": 25.0, \"units\": \"ppm\"}"

Example 2: Paraquat Ceiling

Inputs:

CASRN
1395-21-7

Excel formula:

=CEILING_LIMIT("1395-21-7")

Expected output:

"{\"value\": 6e-05, \"units\": \"mg/m^3\"}"

Example 3: Acetaldehyde Ceiling with null method

Inputs:

CASRN method
75-07-0

Excel formula:

=CEILING_LIMIT("75-07-0", )

Expected output:

"{\"value\": 25.0, \"units\": \"ppm\"}"

Example 4: Paraquat Ceiling with null method

Inputs:

CASRN method
1395-21-7

Excel formula:

=CEILING_LIMIT("1395-21-7", )

Expected output:

"{\"value\": 6e-05, \"units\": \"mg/m^3\"}"

Python Code

Show Code
import json
from chemicals.safety import Ceiling

def ceiling_limit(CASRN, method=None):
    """
    Handles the retrieval of ceiling limits on worker exposure to dangerous chemicals.

    See: https://chemicals.readthedocs.io/chemicals.safety.html

    This example function is provided as-is without any representation of accuracy.

    Args:
        CASRN (str): Chemical Abstracts Service Registry Number identifier (-).
        method (str, optional): Source method name used for ceiling limit lookup (-). Default is None.

    Returns:
        str: JSON string containing value and units.
    """
    try:
        res = Ceiling(CASRN, method=method)
        if res is None:
            return "Error: Data not available"
        return json.dumps({"value": res[0], "units": res[1]})
    except Exception as e:
        return f"Error: {str(e)}"

Online Calculator

Chemical Abstracts Service Registry Number identifier (-).
Source method name used for ceiling limit lookup (-).